Setting up Prolink PHS300 3G modem

Hi,

I had bought prolink PHS300 3G dongle modem for mobile broadband. But i can’t make it work under openSUSE 12.1 with KDE 4.8.4. It does show in the network manager, but will not connect to internet. Kernel is 3.4.2.

Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse (M-BT58)
Bus 001 Device 004: ID 413c:2003 Dell Computer Corp. Keyboard
Bus 002 Device 003: ID 18e3:9106 Fitipower Integrated Technology Inc
Bus 002 Device 004: ID 19d2:1253 ONDA Communication S.p.A.

Some more info:

Bus 002 Device 004: ID 19d2:1253 ONDA Communication S.p.A.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x19d2 ONDA Communication S.p.A.
idProduct 0x1253
bcdDevice 0.00
iManufacturer 3
iProduct 2
iSerial 4
bNumConfigurations 1

Network manager shows that it is detected as ttyUSB3.
Does any one use this model in working state. Any ideas to make it work.

Thanks

I had bought prolink PHS300 3G dongle modem for mobile broadband.

Strangely, I found a website concerning the same device but with chipset (vendor ID and product ID) to the one you report, but it may be that the manufacturer used more than one chipset, released under the same brand and model. FWIW:

Linux & Broadband Modems 2/2: Prolink PHS300

Network manager shows that it is detected as ttyUSB3.

This is a good sign, as it means that the modem device is active.

It may be a useful exercise to plug in your 3G device and note what is reported via

dmesg|tail

You may wish to try configuring your device with the wvdial command liine utility. The basic idea is outlined here:

https://wiki.archlinux.org/index.php/ZTE_MF626_/_MF636#Create_a_wvdial_configuration

This will require you to edit (/etc/wvdial.conf), according to your provider’s requirements. (Sometimes, this can be quite minimal, other times certain parameters such as APN, username, and password must be provided).

Hi dean,
Thanks for the tips.

Here are the results:
dmesg

[24448.298954] SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=84:2b:2b:a2:c9:8f:00:24:d6:14:06:ae:08:00 SRC=10.0.0.156 DST=10.0.0.173 LEN=60 TOS=0x00 PREC=0x00 TTL=128 ID=4086 DF PROTO=TCP SPT=65351 DPT=445 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B4010303080402080A00361BFE00000000)
[24469.344264] SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=84:2b:2b:a2:c9:8f:00:24:d6:14:06:ae:08:00 SRC=10.0.0.156 DST=10.0.0.173 LEN=60 TOS=0x00 PREC=0x00 TTL=128 ID=4289 DF PROTO=TCP SPT=65351 DPT=3389 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B4010303080402080A0036243500000000)
[24487.482061] SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=84:2b:2b:a2:c9:8f:00:24:d6:14:06:ae:08:00 SRC=10.0.0.156 DST=10.0.0.173 LEN=60 TOS=0x00 PREC=0x00 TTL=128 ID=4455 DF PROTO=TCP SPT=65351 DPT=5900 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B4010303080402080A00362B4400000000)
[24508.285052] SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=84:2b:2b:a2:c9:8f:00:24:d6:14:06:ae:08:00 SRC=10.0.0.156 DST=10.0.0.173 LEN=60 TOS=0x00 PREC=0x00 TTL=128 ID=4519 DF PROTO=TCP SPT=65351 DPT=40080 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B4010303080402080A0036337B00000000)
[24762.122994] SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=84:2b:2b:a2:c9:8f:8c:a9:82:18:24:0c:08:00 SRC=10.0.0.159 DST=10.0.0.173 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=1964 PROTO=UDP SPT=137 DPT=137 LEN=58
[24763.616834] SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=84:2b:2b:a2:c9:8f:8c:a9:82:18:24:0c:08:00 SRC=10.0.0.159 DST=10.0.0.173 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=1965 PROTO=UDP SPT=137 DPT=137 LEN=58
[24765.113111] SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=84:2b:2b:a2:c9:8f:8c:a9:82:18:24:0c:08:00 SRC=10.0.0.159 DST=10.0.0.173 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=1975 PROTO=UDP SPT=137 DPT=137 LEN=58
[25048.169897] SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=84:2b:2b:a2:c9:8f:b8:ac:6f:66:2e:ff:08:00 SRC=10.0.0.168 DST=10.0.0.173 LEN=134 TOS=0x00 PREC=0x00 TTL=128 ID=6485 PROTO=UDP SPT=52363 DPT=28876 LEN=114
[25050.176493] SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=84:2b:2b:a2:c9:8f:b8:ac:6f:66:2e:ff:08:00 SRC=10.0.0.168 DST=10.0.0.173 LEN=134 TOS=0x00 PREC=0x00 TTL=128 ID=6652 PROTO=UDP SPT=52363 DPT=28876 LEN=114
[25054.178554] SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=84:2b:2b:a2:c9:8f:b8:ac:6f:66:2e:ff:08:00 SRC=10.0.0.168 DST=10.0.0.173 LEN=134 TOS=0x00 PREC=0x00 TTL=128 ID=6903 PROTO=UDP SPT=52363 DPT=28876 LEN=114

And here is what i get from the modem through wvdial:

→ WvDial: Internet dialer version 1.60
→ Initializing modem.
→ Sending: internet
→ Sending: ATQ0
OK
→ Re-Sending: internet
→ Modem not responding.

Seems that modem is not communicating properly.

And it worked now through network manager. WOW… Just to add if any one has or will have this modem.
In 12.1 by default network manager[KDE] will detect the modem with naming as ttyUSB[number]. As dean mentioned the link from archlinux, need to edit this /etc/wvdial.conf file. If don’t have it, create one with the following settings. Change the ones marked red. Other changes may be applied according to the provider requirements.

[Dialer Defaults]
Modem = /dev/ttyUSB1
ISDN = off
Modem Type = USB Modem
Baud = 7200000
Init = internet
Init2 =
Init3 =
Init4 =
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone = *99#
Phone1 =
Phone2 =
Phone3 =
Phone4 =
Dial Prefix =
Dial Attempts = 1
Dial Command = internet
Ask Password = off
Password = off
Username = na
Auto Reconnect = off
Abort on Busy = off
Carrier Check = off
Check Def Route = off
Abort on No Dialtone = off
Stupid Mode = on
Idle Seconds = 0
Auto DNS = on

Phone = *99#, the number can be the same for most of the networks. Init is the APN provided by the broadband network. Password and Username depends on the network provider.

After that, try to create new connection in the network manager[mobile broadband] and connect to it. That will do it.

I have another laptop, which have same 12.1 KDE. Going to test it out later on it.

Commands in the 1st post i missed out, in case some one want to find out the details.

lsusb
lsusb -v | less

Good luck.

It may well have failed with wvdial because /etc/wvdial.conf was configured to use wrong /dev/ttyUSB* port. Modems can often be detected with the wvdialconf utility first.

wvdialconf

I’m not sure why you now have it working with network manager though.

Yeh, that is correct. I was also surprised 1st when it start working with NM.
In come the laptop scenario, plugged the modem, detected and not working. Run the wvdialconf to configure it automatically. Did not work.

Now here is the more digging. Wvdial shows that modem is attached to ttyUSB3, and NM shows it is attached to ttyUSB1. I know, when pluggged in it will create different ttys, but both show different tty. That is a bit strange for me.

One more thing i noticed, when i get it working. It was attached as ttyUSB3 in NM[then it worked through NM]. After that i removed it to try and see if it will detect as the same. But no. it was never the same till now. Always detect it as ttyUSB1, while wvdialconf detect as ttyUSB3.

Editing `/etc/wvdial.conf’.

Scanning your serial ports for a modem.

Modem Port Scan<*1>: S0 S1 S2 S3 S4 S5 S6 S7
ttyUSB0<*1>: ATQ0 V1 E1 – failed with 2400 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 – failed with 9600 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 – and failed too at 115200, giving up.
ttyUSB1<*1>: ATQ0 V1 E1 – failed with 2400 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 – failed with 9600 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 – and failed too at 115200, giving up.
ttyUSB2<*1>: ATQ0 V1 E1 – failed with 2400 baud, next try: 9600 baud
ttyUSB2<*1>: ATQ0 V1 E1 – failed with 9600 baud, next try: 9600 baud
ttyUSB2<*1>: ATQ0 V1 E1 – and failed too at 115200, giving up.
ttyUSB3<*1>: ATQ0 V1 E1 – ATQ0 V1 E1
ttyUSB3<*1>: failed with 2400 baud, next try: 9600 baud
ttyUSB3<*1>: ATQ0 V1 E1 – OK
ttyUSB3<*1>: ATQ0 V1 E1 Z – ATQ0 V1 E1 Z
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 – OK
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 &C1 – ATQ0 V1 E1 S0=0 &C1
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 &D2 – ATQ0 V1 E1 S0=0 &D2
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 +FCLASS=0 – OK
ttyUSB3<*1>: Modem Identifier: ATI – Model: PHS300
ttyUSB3<*1>: Max speed is 9600; that should be safe.
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 +FCLASS=0 – OK

Found a modem on /dev/ttyUSB3.
Modem configuration written to /etc/wvdial.conf.
ttyUSB3<Info>: Speed 9600; init “ATQ0 V1 E1 S0=0 +FCLASS=0”

Figuring out, how to go around with this stuff of ttys.

After some work around i make it work. Posting it here, if it could be of help to some one in future.

I used sakis3g script to make this dongle work. Lets go this step by step:
1- Open terminal and run,

wget “http://www.sakis3g.org/versions/latest/sakis3g-source.tar.bz2

echo “cdfeb55b24477c490c820d8bd6465c5f sakis3g-source.tar.bz2” | md5sum -c

tar xf sakis3g-source.tar.bz2

cd sakis3g-0.2.0e

./compile embedded

2- After compilation we need to copy sakis3g to usr/bin, become root by su - ,

cp /home/username/sakis3g-0.2.0e/build/sakis3gz /usr/bin/sakis3g

Change username to your user name.

3- Give it right permissions to execute:

cd /usr/bin

chmod +x sakis3g

4- If you run sakis3g[as root], you will see the popup window, all after this is self explanatory.

Note: As sakis3g is using usb_modeswitch, one might need to have this package installed. Now for this specific dongle we need to add a line in 40-usb_modeswitch.rules.
Copy the following line and paste it in 40-usb_modeswitch.rules which is located in /lib/udev/rules.d/40-usb_modeswitch.rules.

Onda PHS300

ATTRS{idVendor}==“19d2”, ATTRS{idProduct}==“1253”, RUN+=“usb_modeswitch ‘%b/%k’”

Need restart of udev.

Now trouble shooting, if in case you did not make it work some how. There are few tweaks you can apply as i did too.
Q1- Cannot connect through sakis3g UI.
A1- Try to turn off your network manager and try.

Q2- I did managed to connect to internet, but still no go with ping and browsing.
A2- For this we need to make sure that this file (ifcfg-ppp0) exists in /etc/sysconfig/network/scripts/, if it’s not there no worries create one. Fire this in terminal as root by su - ,

cd /etc/sysconfig/network/scripts/

touch ifcfg-ppp0.sh

vim ifcfg-ppp0.sh

and paste the following:

DEVICE=ppp0
ONBOOT=yes
METRIC=40
USERCTL=yes
LINESPEED=115200
MODEMPORT=/dev/ttyUSB3
DEBUG=yes
PERSIST=yes
DEFROOT=yes
ACCOUNTING=yes

And i hope this will make the things get going.

Note: The highlighted in red can be changed to your setup.

Needs improvements:
1- To automate the script when plug in the dongle, there is a work around, will post if got some free time later. But all are welcome to share.
2- Use it without root permissions. There is also work around for this, need more research.
3- Linespeed in ifcfg-ppp0.sh to increase if needed. Suggestion are welcome: LINESPEED=115200

If i miss some thing here or this need improvement, please feel free to share your ideas.

Looks like you’ve made good progress mmarif4u. With usb_modeswitch installed, and a suitable udev rule, to activate the modem device. I’m sure that one should be able to use the network manager to connect with.