The following is more of a documentation of my struggle with getting this to work than a how-to, so please read this USB 3G guide first and use google and your brain a lot. Also, we're toying with root-rights, opkg and writing to NAND. It's possible that things go horribly wrong. (They didn't for me, though.)
I'm not liable for any damage done by following this post.
So, a lot of the things mentioned in the guide above somehow didn't work for me. Instead of giving up, I've invested some hours into it and finally managed to make it work. I have a 4G Systems XS Stick P14 (1c9e:f000 in CD mode, 1c9e:9605 in modem mode) with an O2 germany data plan.
Things that didn't work:
Modeswitching with udev and modem-modeswitch
automatic driver loading
automatic connection setup with NetworkManager (I installed modem manager, but it didn't work)
So I used usbmodeswitch and pppd.
First, I installed usbmodeswitch (NOT usb-modeswitch) and usb-modeswitch-data via opkg (I don't know if pppd comes pre-installed with the Pandora. You might need to install it, too.).
(WARNING, WRITES TO NAND)
I plugged in the stick and looked up its vendor-id and product-id:
sudo lsusb
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 001 Device 007: ID 1c9e:f000
Then modeswitch with:
sudo usb_modeswitch -c /etc/usb_modeswitch.d/1c9e:f000
Check lsusb output again:
sudo lsusb
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 001 Device 007: ID 1c9e:9605
Load the driver:
sudo modprobe usbserial vendor=0x1c9e product=0x9605
Check if everything worked:
ls /dev/ttyUSB*
> /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3
Setup /etc/ppp/peers/umts:
Setup /etc/chatscripts/umts (Be sure to replace surfo2 according to your carrier. Google "<yourcarrier> APN"):
(Btw, if you use O2 germany, stay clear of using the internet APN and use surfo2. The internet APN might cost you 10€/MB)
Connect with:
sudo pon umts
Ping something to test the connection (Sometimes I need to run this a few times before it actually reaches something.):
ping -c3 openpandora.org
> 64 bytes from pithos.open-pandora.org (178.63.21.4): icmp_req=1 ttl=56 time=51.3 ms
> 64 bytes from pithos.open-pandora.org (178.63.21.4): icmp_req=2 ttl=56 time=49.7 ms
> 64 bytes from pithos.open-pandora.org (178.63.21.4): icmp_req=3 ttl=56 time=49.1 ms
>
> --- openpandora.org ping statistics ---
> 3 packets transmitted, 3 received, 0% packet loss, time 2002ms
> rtt min/avg/max/mdev = 49.112/50.069/51.312/0.938 ms
After I got this far I wrote a small bash-script I run manually everytime I want to go online with my surfstick:
It's still a little unstable, having connection resets from time to time, but works for me.
If you're still stuck: Things that helped me a lot were google, the keywords "pppd, umts, linux" and several distribution wikis (Arch Linux wiki, Ubuntu wiki, gentoo wiki)
I'm not liable for any damage done by following this post.
So, a lot of the things mentioned in the guide above somehow didn't work for me. Instead of giving up, I've invested some hours into it and finally managed to make it work. I have a 4G Systems XS Stick P14 (1c9e:f000 in CD mode, 1c9e:9605 in modem mode) with an O2 germany data plan.
Things that didn't work:
Modeswitching with udev and modem-modeswitch
automatic driver loading
automatic connection setup with NetworkManager (I installed modem manager, but it didn't work)
So I used usbmodeswitch and pppd.
First, I installed usbmodeswitch (NOT usb-modeswitch) and usb-modeswitch-data via opkg (I don't know if pppd comes pre-installed with the Pandora. You might need to install it, too.).
(WARNING, WRITES TO NAND)
Code:
sudo opkg update
sudo opkg install usb-modeswitch-data
sudo opkg install usbmodeswitch
I plugged in the stick and looked up its vendor-id and product-id:
sudo lsusb
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 001 Device 007: ID 1c9e:f000
Then modeswitch with:
sudo usb_modeswitch -c /etc/usb_modeswitch.d/1c9e:f000
Check lsusb output again:
sudo lsusb
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 001 Device 007: ID 1c9e:9605
Load the driver:
sudo modprobe usbserial vendor=0x1c9e product=0x9605
Check if everything worked:
ls /dev/ttyUSB*
> /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3
Setup /etc/ppp/peers/umts:
Code:
# File /etc/ppp/peers/umts
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/umts"
defaultroute
/dev/ttyUSB3
115200
persist
debug
passive
noipdefault
usepeerdns
# Varies between carriers, some don't even need these.
user "o2"
password "o2"
Setup /etc/chatscripts/umts (Be sure to replace surfo2 according to your carrier. Google "<yourcarrier> APN"):
Code:
TIMEOUT 120
ABORT 'BUSY'
ABORT 'ERROR'
ABORT 'NO CARRIER'
'' 'ATE1'
# Change according to your carrier
OK AT+CGDCONT=1,"IP","surfo2"
OK ATD*99***1#
# or OK ATD*99#
CONNECT \d\c
(Btw, if you use O2 germany, stay clear of using the internet APN and use surfo2. The internet APN might cost you 10€/MB)
Connect with:
sudo pon umts
Ping something to test the connection (Sometimes I need to run this a few times before it actually reaches something.):
ping -c3 openpandora.org
> 64 bytes from pithos.open-pandora.org (178.63.21.4): icmp_req=1 ttl=56 time=51.3 ms
> 64 bytes from pithos.open-pandora.org (178.63.21.4): icmp_req=2 ttl=56 time=49.7 ms
> 64 bytes from pithos.open-pandora.org (178.63.21.4): icmp_req=3 ttl=56 time=49.1 ms
>
> --- openpandora.org ping statistics ---
> 3 packets transmitted, 3 received, 0% packet loss, time 2002ms
> rtt min/avg/max/mdev = 49.112/50.069/51.312/0.938 ms
After I got this far I wrote a small bash-script I run manually everytime I want to go online with my surfstick:
Code:
#!/bin/bash
sudo killall pppd
sleep 1
sudo modprobe -r usbserial
sudo mknod /dev/ppp c 108 0
sudo usb_modeswitch -c /etc/usb_modeswitch.d/1c9e:f000
sleep 2
sudo modprobe usbserial vendor=0x1c9e product=0x9605
sleep 2
sudo pon umts
It's still a little unstable, having connection resets from time to time, but works for me.
If you're still stuck: Things that helped me a lot were google, the keywords "pppd, umts, linux" and several distribution wikis (Arch Linux wiki, Ubuntu wiki, gentoo wiki)
Last edited by a moderator: