Satellite Phone CDC-ACM issue
Posted: 23 May 2012, 16:52
I have a recently released Thuraya GSM/satellite phone (Thuraya XT-Dual) which is running Windows CE 4.2 Am trying to talk to that satellite phone over USB using a router running Openwrt - linux kernel 3.2.5. The mfgr only supports Windows tethering for that phone and am trying to get it to work in Linux. An earlier model of the same phone (which is VxWorks based) worked fine with the CDC-ACM driver (had to set flag_time to 1 while loading the ppp_async module to get ppp working )
On plugging in, the phone does show up as a CDC-ACM device addressable
by /dev/ttyACM0. But attempts to send AT commands to the phone using picocom or minicom or the existing 3G modem chat scripts all fail. The phone does not appear to respond at all. Same behavior on a Ubuntu 11.04 PC which has a stock 2.6.x kernel (x is 32 or maybe higher don't remember now)
On Windows XP, the driver supplied with the phone installs fine and the phone appears as a COM port. A dial up networking connection works fine and connects to AT&T. Hyperterm also works for AT commands.
So clearly the hardware is OK.
Have tried an external powered hub - but no change. I don't think it is a usb_modeswitch storage switching type issue since the phone is not a smart phone and does not show us as an attached drive and the /dev/ttyACM0 port comes up right away . Am wondering if Microsoft Active Sync is creating issues since I see the Microsoft Active Sync
icon on the Windows XP tray when I plug in the phone and perhaps the phone is expecting to get something from the host before responding to AT commands. That is why the usb_modeswitch gurus may be able to give me some pointers here.
Have turned USB_DEBUG on in the kernel The output of lsusb and logread (dmesg) below and
the output of a usbsnoop session using a utility provided by TP-LINK for determining usb_modeswitch parameters is accessible via this link
http://pastebin.com/nQ3Aqs6r
I looked at the comments on Mark Ziesemer's excellent blog posting at
http://blogger.ziesemer.com/2008/10/all ... buntu.html
and I see that the first transfer with the flag USBD_TRANSFER_DIRECTION_OUT has no data at all (URB 5) so usb_modeswitch parameters can't be determined - which is why the TP-LINK utility could not determine the usb_modeswitch parameters.
I just found a response from a linux-usb group member hidden in my gmail which requested further output without power management
"Unfortunately we have no debug message in acm_resume(). Can you please try without runtime power management?"
And I am trying to understand what that means since the Openwrt router has no power management .
Any pointers for further debugging will be greatly appreciated.
Ashok
On plugging in, the phone does show up as a CDC-ACM device addressable
by /dev/ttyACM0. But attempts to send AT commands to the phone using picocom or minicom or the existing 3G modem chat scripts all fail. The phone does not appear to respond at all. Same behavior on a Ubuntu 11.04 PC which has a stock 2.6.x kernel (x is 32 or maybe higher don't remember now)
On Windows XP, the driver supplied with the phone installs fine and the phone appears as a COM port. A dial up networking connection works fine and connects to AT&T. Hyperterm also works for AT commands.
So clearly the hardware is OK.
Have tried an external powered hub - but no change. I don't think it is a usb_modeswitch storage switching type issue since the phone is not a smart phone and does not show us as an attached drive and the /dev/ttyACM0 port comes up right away . Am wondering if Microsoft Active Sync is creating issues since I see the Microsoft Active Sync
icon on the Windows XP tray when I plug in the phone and perhaps the phone is expecting to get something from the host before responding to AT commands. That is why the usb_modeswitch gurus may be able to give me some pointers here.
Have turned USB_DEBUG on in the kernel The output of lsusb and logread (dmesg) below and
the output of a usbsnoop session using a utility provided by TP-LINK for determining usb_modeswitch parameters is accessible via this link
http://pastebin.com/nQ3Aqs6r
I looked at the comments on Mark Ziesemer's excellent blog posting at
http://blogger.ziesemer.com/2008/10/all ... buntu.html
and I see that the first transfer with the flag USBD_TRANSFER_DIRECTION_OUT has no data at all (URB 5) so usb_modeswitch parameters can't be determined - which is why the TP-LINK utility could not determine the usb_modeswitch parameters.
I just found a response from a linux-usb group member hidden in my gmail which requested further output without power management
"Unfortunately we have no debug message in acm_resume(). Can you please try without runtime power management?"
And I am trying to understand what that means since the Openwrt router has no power management .
Any pointers for further debugging will be greatly appreciated.
Ashok