Home AMX User Forum AMX General Discussion

iPort FS-23 IP port/protocol?

Anyone out there know what the control port is for the FS-23 and what the protocol is? I simply can not find it anywhere and I'd rather upgrade my altered version of the standard iPort module (if possible) rather thatn use the new IP module since like the old version it too requires a UI instance & TP/Port per iPort.

Other than cover art is there any major difference between the old and new? Changes is syntax? I wouldn't expect anything major but it's always possible in which case I'd have to convert the new module to work the way I prefer, just one UI/port/instance for as many iPorts/Pods as the install needs.

Comments

  • viningvining Posts: 4,368
    Since finding info on this thing isn't easy here's some other facts that take time to find.

    The dock is DHCP by default so once you check your router to see what it was assigned you can log into its webpage. To changes its config to static you'll need the enter the user "root" and no password. This info was only found on the website under firmware updates for the FS-23. The webpage doesn't allow for changing this password.

    I then tried a telnet connect which worked again using the user "root" and no password. In telent you can add a password, reboot the dock, config TCP/IP settings and basically everything else you can do from its webpage. Nothing though that would indicate a control port and it doesn't appear anything can be controlled through its telnet port other then the simple settings describe.
  • sphere27sphere27 Posts: 40
    I don't have the protocol sheet. I was just trying to find some cursor commands for the OSD and the AMX module doesn't have it. The Cre51ron one has cursor commands but I can't seem to make them work properly.

    It's probably more about me not knowing how to debug properly. But I tried a couple raw commands that I pulled from the other companies module but couldn't get them to work. I tried passing them through the module and I tried just send_string through 'control a device'. Anyway, I know this isn't the full protocol, but if it turns out that the protocol is the same as the old one, these cursor commands won't be part of the old set.


    $2A,$49,$00,$04,$38,$3C,$15,$01 PLAY

    Cursor
    $2A,$49,$00,$04,$03,$00,$08,$22,$86 MENU
    $2A,$49,$00,$04,$03,$00,$08,$24,$84 UP
    $2A,$49,$00,$04,$03,$00,$08,$25,$83 DOWN
    $2A,$49,$00,$04,$03,$00,$08,$23,$85 SELECT
    $2A,$49,$00,$04,$03,$00,$08,$20,$88 FFWD
    $2A,$49,$00,$04,$03,$00,$08,$21,$87 REW
  • viningvining Posts: 4,368
    any idea what IP port is used for control? That my biggest issue right now, can't freakin find it anywhere.
  • vining wrote: »
    any idea what IP port is used for control? That my biggest issue right now, can't freakin find it anywhere.

    Try nmap: http://nmap.org/download.html

    It's a powerful port scanner. This tool has saved me SO much time in the past, be it discovering what port is open on a device, to scanning an entire network to determine which of my devices are online.
  • jjamesjjames Posts: 2,908
    Per the Cre$tron module, it connects to port 47678 via TCP.

    It also appears you need a checksum at the end of the command, which is probably why the commands straight out do not work. Here's the checksum routine in S+
    STRING_FUNCTION chsum(STRING out_to_iport_temp$)
    	{
    	INTEGER i,checksum;
    	checksum = 0;
    	FOR (i=2 to LEN(out_to_iport_temp$))
    		{
    		checksum = checksum + BYTE(out_to_iport_temp$,i);
    		};
    	checksum = 256 - checksum UMOD 256;
    	out_to_iport_temp$ = out_to_iport_temp$ + chr(checksum);
    	RETURN (out_to_iport_temp$);
    	}
    

    Hope this helps.
  • viningvining Posts: 4,368
    jjames wrote: »
    Per the Cre$tron module, it connects to port 47678 via TCP.

    It also appears you need a checksum at the end of the command, which is probably why the commands straight out do not work. Here's the checksum routine in S+
    STRING_FUNCTION chsum(STRING out_to_iport_temp$)
    	{
    	INTEGER i,checksum;
    	checksum = 0;
    	FOR (i=2 to LEN(out_to_iport_temp$))
    		{
    		checksum = checksum + BYTE(out_to_iport_temp$,i);
    		};
    	checksum = 256 - checksum UMOD 256;
    	out_to_iport_temp$ = out_to_iport_temp$ + chr(checksum);
    	RETURN (out_to_iport_temp$);
    	}
    

    Hope this helps.
    Yeah that helps a bunch but if you have the functions being called in this routine that would also be very helpful.
    BYTE(out_to_iport_temp$,i);
    checksum UMOD 256;
    chr(checksum);
    
    They look somewhat straight forward but with out being sure I could spend hours trying different variations of what I think they do.

    Of course Sonance providing an API for this would be too much to ask for.

    nicholasjames wrote:
    Yeah I'll definitely give this a try. Having a port sniffer would be a cool thing to have for just such ocassions. I beleive the iPort has many ports open, telnet, Netsync and control, maybe more. I'll see if the one JJ posted pops up just to test the app.
  • Joe HebertJoe Hebert Posts: 2,159
    vining wrote: »
    Of course Sonance providing an API for this would be too much to ask for.

    They will, just send them an email and ask for it (or send me a private message with your email address and I'll send you the docs that were sent to me.)
    The FS-*23 IP remote protocol is based on existing serial remote protocol for FS-*21/22, with some extensions. The TCP connection is opened and closed from remote controller side. A FS-*23 can accept up to 4 simultaneous TCP connections. The TCP port number of dock is 47678.
  • viningvining Posts: 4,368
    No need for a PM I'll just post it here. Viningele at msn.com.

    I've been through the Sonance dealers portal too but couldn't find anything posted there either and if i didn't get anywhere here i would have eventually contacted sonance directly, I'm actually a Sonance dealer but figured this would provide a faster result. I could have contacted my Sonance rep but i don't believe i have one anymore. Don't got an AMX rep anymore either.
  • viningvining Posts: 4,368
    I decided to use the new IP module until i have a chance update my version but it doesn't seem to communicate properly. I get the iPod's name, dock status, vol level but every button push returns ack: bad parameter. The dock (fs23) was updated to rev 1.1.1. The iPod shows rev 1.2.1 when viewing the dock web page.

    Any tips or tricks? It's not an onpage/offpage FB issue, it's the comms betwen the IP module and the dock/iPod. I created my own buffer to view the strings coming to AMX and they translate to what the comm mod is sending back to the UI mod virtual data event.

    I'm working remotely so i can't pull the pod and re- dock it or use iTunes to check if the SW is current. I've rebooted the dock several times and re-sent the docks firmware and still ack: bad param on all btn pushes.
  • viningvining Posts: 4,368
    I went to the site and tried my iPod and it worked. Update the SW on the client's iPod and now that works too.
  • I have a project with 6 iPort docks and I am having a hard time with the current IP module. Some things work ok, but the module is missing search capabilities and doesn't offer the end user the ability to use the OSD from the component video. The UP/DOWN arrows on the IP module only work for the metadata navigation not for the on screen navigation. On the other hand, the on screen interface do offer searching, which is a must feature with most iPods with thousands of songs. I tried some of the PASSTHRU commands to try to emulate the IR remote with no luck. I wasn't aware of the need for the checksum routine. I will try it with the checksum. However, the module needs refining and somehow the OSD IR emulation commands are needed if the OSD is used. I contact Sonance and they said that AMX is supposed to do a module review but I've been waiting since last year and no luck. My client wants to use both the metadata IP module with search and the OSD, but the current module doesn't offer it. Any ideas to improve this module? Thanks!
  • viningvining Posts: 4,368
    I wasn't aware of the need for the checksum routine. I will try it with the checksum.

    The cursor commands posted earlier include the checksum for each string so you don't need to include a checksum routine if you don't want, just send the entire string posted. If you do want to create a routine it's just a 2's compliment of the sum of all bytes starting after the start byte (2A) to the last byte. Obviously excluding the checksum byte which gets appended to the end.

    Personally I have no desire to include RGB from the docks and I remove the buttons that reference any video functions just so the customer doesn't get any dumb ideas about wanting video from these things.
  • Vining,

    How are you implementing the SEARCH function. The RGB on screen offers it, but the AMX IP module doesn't? Did you custom add the SEARCH to the IP mudule?
  • viningvining Posts: 4,368
    Vining,

    How are you implementing the SEARCH function. The RGB on screen offers it, but the AMX IP module doesn't? Did you custom add the SEARCH to the IP mudule?
    No, I haven't considered the ability to search or checked the API to see if it is even possible from AMX. That would be another feature I'd consider part of the "don't ask, don't tell" policy. :) I guess if it's the only source of stored music it would be nice but for almost the same price they could get a Logitech Touch with a 2TB usb drive. Then you have Pandora, Rhapsody, MOG, Spotify, etc too. Of course these are their phones in most cases that they cherish as much as any vital organ so they want them connected.
  • adysadys Posts: 395
    vining wrote: »
    I decided to use the new IP module until i have a chance update my version but it doesn't seem to communicate properly. I get the iPod's name, dock status, vol level but every button push returns ack: bad parameter. The dock (fs23) was updated to rev 1.1.1. The iPod shows rev 1.2.1 when viewing the dock web page.

    Any tips or tricks? It's not an onpage/offpage FB issue, it's the comms betwen the IP module and the dock/iPod. I created my own buffer to view the strings coming to AMX and they translate to what the comm mod is sending back to the UI mod virtual data event.

    I'm working remotely so i can't pull the pod and re- dock it or use iTunes to check if the SW is current. I've rebooted the dock several times and re-sent the docks firmware and still ack: bad param on all btn pushes.

    Where can I found this "new IP module" ?
    Searched and didn't find it

    Thanks,

    Ady
Sign In or Register to comment.