Index of /logtags/icon/index

Me

Martijn van de Streek

Categories

Archives

za, 09 aug 2008

Update on the GlobeSurfer iCON 7.2 + Ubuntu

I've recently upgraded the firmware in my iCON 7.2, which broke usb_modeswitch and PPP. Apparently it's not very efficient to have transfer speeds of up to 7.2Mb/s on a serial link, so the device manufacturer (Option) decided that a new kind of interface is needed. This new interface is a combination of a serial port for control, and a network interface for data transfer.

This also meant I had to install a new driver ("hso"), and while I was looking for that, I also found a new, better tool to switch the iCON from "fake CD-ROM" mode into UMTS modem mode. This tool (called rezero) doesn't seem to have the race conditions that the old tool had.

I've uploaded a package of the rezero utility to my PPA. It includes a udev script, so the tool gets run automatically as soon as you plug in an Option device that thinks it's a CD-ROM drive. More information about the PPA can be found on my PPA page on Launchpad.

Of course, it would be great if this could be added to Ubuntu itself (along with the hso driver, I'll file a bug for that), but I don't have the time to figure out how to do that at the moment :)

do, 27 dec 2007

XS4ALL UMTS + GlobeSurfer iCON 7.2 + Ubuntu

I've recently tried to get XS4ALL Mobiel UMTS working a GlobeSurfer iCON 7.2 on Ubuntu. This isn't as easy as it should be, so I'm documenting how I did it here.

usb_modeswitch

The device starts in disk mode, which autostarts and installs the driver on Windows. These drivers are useless to us (the option driver is available in the default Ubuntu kernel), and the device won't do serial things unless it's "switched" to serial mode.

To do this, you need to download usb_modeswitch, and compile it using the compile.sh command (the build-essential and libusb-dev packages are required for this).

Then edit usb_modeswitch.conf, comment the configuration variables that are active in the distributed config file, and uncomment the ones for the "Option GlobeSurfer Icon 7.2". After editing the file, copy it to /etc. Also copy the compiled binary (usb_modeswitch) to /usr/local/bin.

Now you need to set up the system so it will run the mode-switch tool automatically when you insert the UMTS device. You can do this by creating a custom udev rule. Create a file called 80-usb_modeswitch.rules in /etc/udev/rules.d with the following content:

SUBSYSTEM=="usb", SYSFS{idProduct}=="1000", SYSFS{idVendor}=="05c6", RUN+="/usr/local/bin/usb_modeswitch"

Note that you might have to undo most of this once usb_modeswitch has been packaged properly.

PPP

The PPP configuration tools are currently a bit buggy, so it's easier to just create your own chat scripts and ppp configuration files. This isn't very interesting, so I'll just list the filenames and their contents.

/usr/local/bin/umts_chatscript
#! /bin/bash
/usr/sbin/chat -V -f /etc/chatscripts/umts-pin || /usr/sbin/chat -V -f /etc/chatscripts/umts-nopin
/usr/sbin/chat -v -f /etc/chatscripts/umts

Note that this file should be executable! Also note that the first script (umts-prep) sends the PIN to the modem. If this fails, the modem probably already has the PIN, so the dial script continues. If the PIN sending was in the same chat script as the dialing, it would be much harder to ignore the error.

/etc/ppp/peers/xs4all-umts
/dev/ttyUSB0 460800
connect "/usr/local/bin/umts_chatscript"
lock

defaultroute

modem
crtscts

usepeerdns
noipdefault

user xs4allusername
password ""

Use the username from the letter XS4ALL sent you with your SIM, or it won't work.

/etc/chatscripts/umts-pin
ABORT BUSY
ABORT ERROR
ABORT 'NO CARRIER'
REPORT CONNECT
TIMEOUT 10
# Set your pin here 
"" "AT+CPIN=0000"

Don't forget to set your pin!

/etc/chatscripts/umts-nopin
ABORT BUSY
ABORT ERROR
ABORT 'NO CARRIER'
REPORT CONNECT
TIMEOUT 10
# Set your pin here 
"" "ATZ"

Don't forget to set your pin!

/etc/chatscripts/umts
ABORT BUSY
ABORT 'NO CARRIER'
ABORT ERROR
REPORT CONNECT
# Prefer UMTS, but switch back to GPRS if it's not available 
"" "AT_OPSYS=3,2"
OK "AT+CGDCONT=1,\"ip\",\"umts.xs4all.nl\""
TIMEOUT 10
OK "ATD*99***1#"
CONNECT \c

Conclusion

You can now connect using Network Manager, or manually using pon xs4all-umts on the command line. Network Manager currently has a bug: it doesn't detect that the network connection is established, so it won't tell the desktop environment that there's a network connection, so some programs might insist on being in "offline mode".

I haven't found a simple signal level monitoring application. This should either be incorporated into Network Manager, or maybe a small applet-like program is needed.

I think this should all work out of the box, or with minimal configuration. It's way too hard now.

foodfight.org index


Creative Commons Licentie Op dit werk is een Creative Commons Licentie van toepassing.