The 4G Systems XS Stick P14 is a USB surfstick and supports transmissions in UMTS, HSDPA, and HSUPA stadard. The stick has the USB ID 0x1c9e:0xf000
Bus 001 Device 002: ID 1c9e:f000
and is supported by Linux, e.g. by Ubuntu since version 10.04.
The stick is a memory stick and a sufstick in one. It has to be switched between these two modes. If the system is not configured correctly, the surfstick is recognized by the Linux kernel as a CD-Rom drive instead:
usb 2-1.1: new high-speed USB device number 3 using ehci_hcd scsi7 : usb-storage 2-1.1:1.0 scsi 7:0:0:0: CD-ROM USBModem Disk 2.31 PQ: 0 ANSI: 2 sr1: scsi-1 drive sr 7:0:0:0: Attached scsi CD-ROM sr1 sr 7:0:0:0: Attached scsi generic sg2 type 5 usb 2-1.1: USB disconnect, device number 3 usb 2-1.1: new high-speed USB device number 4 using ehci_hcd scsi8 : usb-storage 2-1.1:1.4 scsi 8:0:0:0: Direct-Access USBModem Disk 2.31 PQ: 0 ANSI: 2 sd 8:0:0:0: Attached scsi generic sg2 type 0 sd 8:0:0:0: [sdb] Attached SCSI removable disk
In this case the mode of the stick has to be switched by the usb_modeswitch command. This program can be installed in Debian-based distributions (e.g. Ubuntu) by
apt-get install usb-modeswitch usb-modeswitch-data
Afterwards, the modus of the USB stick can be changed into a surfstick by the command usb_modeswitch:
usb_modeswitch -c /etc/usb_modeswitch.conf -v 0x1c9e -p 0x9605
As a result of the command the USB ID of the sticks will change to 1x9e:9605.
Furthermore, the stick needs a seriell device ttyUSB for the network connection. This device is created by the usbserial kernel module and has to be loaded by hand if not already loaded automatically by the kernel:
sudo modprobe usbserial vendor=0x1c9e product=0x9605
This will create the necessary ttyUSB device:
sd 7:0:0:0: Attached scsi generic sg2 type 0 sd 7:0:0:0: [sdb] Attached SCSI removable disk usbcore: registered new interface driver usbserial USB Serial support registered for generic usbserial_generic 2-1.2:1.0: generic converter detected usb 2-1.2: generic converter now attached to ttyUSB0 usbserial_generic 2-1.2:1.1: generic converter detected usb 2-1.2: generic converter now attached to ttyUSB1 usbserial_generic 2-1.2:1.2: generic converter detected usb 2-1.2: generic converter now attached to ttyUSB2 usbserial_generic 2-1.2:1.3: generic converter detected usb 2-1.2: generic converter now attached to ttyUSB3 usbcore: registered new interface driver usbserial_generic usbserial: USB Serial Driver core
The network connection can now be configured, e.g. by selecting the “mobile connection” item in the network menu of Ubuntu.