I'm trying this out for real, and noting anything out of the ordinary/unexpected. As a preface to this email, I would say that this application is wonderful, duplicating the closed propriety product that Telstra has implemented for PC only (although I have now seen some mention of Apple Mac). I have learned a bit while looking at this, although not enough about python, especially how to install python 2.6 on Ubuntu Intrepid. I am using a reasonably standard Ubuntu Jaunty 64 bit installation, with all dependencies (except modeswitch from http://packages.debian.org/sid/usb-modeswitch ) from the Ubuntu repositories. I bought a microSDHC card to insert into the modem, with the expectation that I could put the application on there with the utilities, so that I could use it with any compatible Linux disto. Of course, you need the modeswitch to expose the USB storage with the modeswitch application. D'oh. I have also disabled (temporary) the Network Manager so that it doesn't get in the way - Jaunty Network Manager seems to work the network connection for the Telstra Modem OK after the modeswitch, but of course doesn't have the juicy goodness of your app. (SMS, service menu etc) Don't sweat the following too much, the app is prefectly usable as is. If you want, I could write a small doco to explain how I installed and run the app so that it works, from the point of view of normal user. (my wife would smirk about the "normal" bit) If I can help out in any way, let me know. Thanks again for this app. Good work. ------------------------------------------------------------------------------------------------------------- 1. Does not reliably recognise the modem Impact - minor. Explanation - The documentation states that the modem must be plugged in before the application is started. In my experience, this is not necessary, although in either case (modem plugged in and stable before or after the application is started) the application detects the device in the USB slot. This can be seen by the modeswitch, and the appearance of the /dev/ttyUSB[012] devices. However, the application does not always detect the devices /dev/ttyUSB[012] as modems. EG from the application output, you can see where the application detects the USB device, and executes the modeswitch. The attached microSD card is then exposed, and gnome then mounts it. The application detects the newly created /dev/ttyUSB[012] devices, but does not always detect them as modems. It works 4 times out of 5, so not a real worry An unsuccessful connection (but with correct modeswitch and attached USB memory exposed) root@pio:~/.jbm# jbm Config: Loading -> /root/.jbm/config Config: Get -> usage.rollup days Config: Get -> usage.short format Config: Get -> usage.long format Config: Get -> general.detect tty Config: Get -> general.check modem Config: Get -> general.auto modeswitch Modem found in CD Mode, attempting to switch Mode switching successful! Config: Get -> general.detect tty Config: Get -> general.check modem Config: Get -> general.detect tty Config: Get -> general.check modem Config: Get -> general.detect tty Config: Get -> general.check modem Checking port /dev/ttyUSB0 Checking port /dev/ttyUSB2 Config: Get -> general.detect tty Config: Get -> general.check modem Checking port /dev/ttyUSB0 Checking port /dev/ttyUSB1 Checking port /dev/ttyUSB2 Config: Get -> general.detect tty Config: Get -> general.check modem Checking port /dev/ttyUSB0 Checking port /dev/ttyUSB1 Checking port /dev/ttyUSB2 Config: Get -> general.detect tty Config: Get -> general.check modem Checking port /dev/ttyUSB0 Checking port /dev/ttyUSB1 Checking port /dev/ttyUSB2 Config: Get -> general.detect tty Config: Get -> general.check modem Checking port /dev/ttyUSB0 Checking port /dev/ttyUSB1 Checking port /dev/ttyUSB2 etc - never connects (I've left it running up to 15 minutes or so) A successful connection looks like :- root@pio:~/.jbm# jbm Config: Loading -> /root/.jbm/config Config: Get -> usage.rollup days Config: Get -> usage.short format Config: Get -> usage.long format Config: Get -> general.detect tty Config: Get -> general.check modem Checking port /dev/ttyUSB0 Checking port /dev/ttyUSB1 Checking port /dev/ttyUSB2 Config: Set -> serial.port = /dev/ttyUSB1 Config: Set -> dialer.port = /dev/ttyUSB2 Config: Get -> serial.baud Config: Get -> serial.timeout Config: Get -> serial.port Sending: AT+CSQ Config: Get -> general.sc number Sending: AT+CSCA="+61418706700" Sending: AT+CMGF=1 Sending: AT+CPMS="ME","ME","ME" Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Serial: Unknown Response: +ZEND Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ A look at the /var/log/messages gives the following :- Aug 27 09:19:15 pio kernel: [65330.713810] option 1-3:1.0: GSM modem (1-port) converter detected Aug 27 09:19:15 pio kernel: [65330.714188] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB0 Aug 27 09:19:15 pio kernel: [65330.725612] option 1-3:1.1: GSM modem (1-port) converter detected Aug 27 09:19:15 pio kernel: [65330.725762] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB1 Aug 27 09:19:15 pio kernel: [65330.726142] scsi24 : SCSI emulation for USB Mass Storage devices Aug 27 09:19:15 pio kernel: [65330.726437] option 1-3:1.3: GSM modem (1-port) converter detected Aug 27 09:19:15 pio kernel: [65330.726545] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB2 Aug 27 09:19:20 pio kernel: [65335.726023] scsi 24:0:0:0: Direct-Access ZTE MMC Storage 2.31 PQ: 0 ANSI: 2 Aug 27 09:19:20 pio kernel: [65335.729175] sd 24:0:0:0: [sdc] 7744512 512-byte hardware sectors: (3.96 GB/3.69 GiB) Aug 27 09:19:20 pio kernel: [65335.730280] sd 24:0:0:0: [sdc] Write Protect is off Aug 27 09:19:20 pio kernel: [65335.745555] sd 24:0:0:0: [sdc] 7744512 512-byte hardware sectors: (3.96 GB/3.69 GiB) Aug 27 09:19:20 pio kernel: [65335.749167] sd 24:0:0:0: [sdc] Write Protect is off Aug 27 09:19:20 pio kernel: [65335.749194] sdc: sdc1 Aug 27 09:19:20 pio kernel: [65335.751620] sd 24:0:0:0: [sdc] Attached SCSI removable disk Aug 27 09:19:20 pio kernel: [65335.751764] sd 24:0:0:0: Attached scsi generic sg3 type 0 Aug 27 09:19:24 pio kernel: [65339.476033] uhci_hcd 0000:00:10.2: Controller not stopped yet! Aug 27 09:19:25 pio kernel: [65340.812538] uhci_hcd 0000:00:10.2: Controller not stopped yet! Workaround - with the application running, removing and replacing the device will eventually cause the application to detect the modem and then carry on. ------------------------------------------------------------------------------------------------------- 2. Does not disconnect properly after being connected. Impact - Minor Explanation - After being connected, disconnection does not happen. After a period where the application is unresponsive, it the connection tab show that it is disconnecting, but it goes no further. The output from the application is :- Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ If you try to shut down the application with the disconnection still pending, you get the following :- Sending: AT+CSQ Sending: AT+CSQ Traceback (most recent call last): File "/root/.jbm/jbm.py", line 1193, in window_closed dialer.disconnect() File "/root/.jbm/jbm_wvdial.py", line 267, in disconnect self.thread.join(10.0) AttributeError: 'NoneType' object has no attribute 'join' Sending: AT+CSQ Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Workaround - Remove the modem and terminate the application. This gives the following output from the application :- Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Dialer: '--> pppd: _[7f]' Dialer: '--> Connect time 5.3 minutes.' Dialer: '--> pppd: _[7f]' Dialer: '--> pppd: _[7f]' Dialer: '--> pppd: _[7f]' Serial: Command Timeout Dialer: '--> Disconnecting at Thu Aug 27 09:37:36 2009' Dialer: '--> The PPP daemon has died: A modem hung up the phone (exit code = 16)' Dialer: '--> man pppd explains pppd error codes in more detail.' Dialer: '--> Try again and look into /var/log/messages and the wvdial and pppd man pages for more information.' Config: Get -> general.set nameserver Config: Set -> general.set nameserver = True Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Serial: Command Timeout Config: Saving -> /root/.jbm/config You must also restore the contents of the file /etc/resolv.conf, either by hand, or ifdown/ifup your other local area network. (in my case, I have DHCP eth0) ----------------------------------------------------------------------------------------------- 3. The serial module is reporting unknown responses for modem commands :- Serial: Unknown Response: +ZDONR: "Not Found" Serial: Connection No Service Serial: Unknown Response: +ZDONR: "Telstra",505,1,"CS_ONLY","ROAM_OFF" Serial: Unknown Response: +ZDONR: "Telstra",505,1,"CS_PS","ROAM_OFF" Serial: Unknown Response: +ZEND Impact - None (may be of interest for error checking/understanding etc) The full text output from the application is :- root@pio:~/.jbm# jbm Config: Loading -> /root/.jbm/config Config: Get -> usage.rollup days Config: Get -> usage.short format Config: Get -> usage.long format Config: Get -> general.detect tty Config: Get -> general.check modem Config: Get -> general.auto modeswitch Modem found in CD Mode, attempting to switch Mode switching successful! Config: Get -> general.detect tty Config: Get -> general.check modem Config: Get -> general.detect tty Config: Get -> general.check modem Config: Get -> general.detect tty Config: Get -> general.check modem Checking port /dev/ttyUSB0 Checking port /dev/ttyUSB1 Checking port /dev/ttyUSB2 Config: Set -> serial.port = /dev/ttyUSB1 Config: Set -> dialer.port = /dev/ttyUSB2 Config: Get -> serial.baud Config: Get -> serial.timeout Config: Get -> serial.port Sending: AT+CSQ Serial: Unknown Response: +ZDONR: "Not Found" Serial: Connection No Service Config: Get -> general.sc number Sending: AT+CSCA="+61418706700" Serial: Unknown Response: +ZDONR: "Telstra",505,1,"CS_ONLY","ROAM_OFF" Serial: Connection UMTS Serial: Unknown Response: +ZDONR: "Telstra",505,1,"CS_ONLY","ROAM_OFF" Serial: Connection UMTS Sending: AT+CSQ Serial: Unknown Response: +ZDONR: "Telstra",505,1,"CS_PS","ROAM_OFF" Serial: Connection UMTS Sending: AT+CPMS=? Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Serial: Unknown Response: +ZEND Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Config: Get -> general.sc number Sending: AT+CSCA="+61418706700" Sending: AT+CMGF=1 Sending: AT+CPMS="ME","ME","ME" Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Serial: Unknown Response: +ZEND Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Config: Saving -> /root/.jbm/config Workaround - not required (ignore messages ?) ---------------------------------------------------------------------------------------------------------- 4. Initial Service menu is blank, and a "00" or "1" , "2" .... sent gives "UNKNOWN APPLICATION" in display area. Impact - minor/none Workaround - Click send with blank field. This sends "#100#" which will give a SMS reply of :- -- #100# Help-- Press answer and enter menu number (1,2,3...) that u r interested in. Press Reply/Call to Send. You must reply to a menu within 40 seconds. This can be ignored. The service menu will appear, and all options are now available. ---------------------------------------------------------------------------------------------------------- 5. When using workaround (above), the application module serial gives an unknown response error "+CME ERROR" Impact - None Explanation - The full text is as follows :- Sending: AT+CSQ Sending: AT+CUSD=1,"#100#",15 Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Config: Get -> sms.auto open Config: Set -> sms.auto open = True Sending: AT+CMGL="ALL" Sending: AT+CMGR=4 Serial: Unknown Response: +CME ERROR: unknown Sending: AT+CSQ Sending: AT+CSQ Sending: AT+CSQ Workaround - not required (ignore message ?) -----------------------------------------------------------------------------------------