2 USB Broadband dongles

balanga

Daemon

Thanks: 87
Messages: 2,221

#1
i have 2 USB 3G Broadband dongles. One is branded Vodafone and the other Three. Both have a Vid/Pid of 12d1:1001, although I get different values when using ATI after connecting using cu -l /dev/cuaU0.0:-
Code:
Vodafone

ATI
Manufacturer: huawei
Model: K3520
Revision: 11.314.12.02.00
IMEI: 353284022975539
+GCAP: +CGSM,+DS,+ES

OK

Three

ATI
Manufacturer: huawei
Model: E1550
Revision: 11.608.09.01.21
IMEI: 359124030270891
+GCAP: +CGSM,+DS,+ES
Both dongles connect to the Internet under Linux Debian via Network Manager, but under FreeBSD only the Vodafone dongle connects when using ppp.

Using the Three dongle, I see this in /var/log/ppp.log:-
Code:
Phase: deflink: /dev/cuaU0.0 doesn't support CD
Can anyone think why? Could it be related to usb_modeswitch?
 

ronaldlees

Aspiring Daemon

Thanks: 266
Messages: 670

#2
Using the Three dongle, I see this in /var/log/ppp.log:-
Code:
Phase: deflink: /dev/cuaU0.0 doesn't support CD
CD means "carrier detect" - which is a serial hardware connection thing (one of the wires in a serial connection is CD). Try turning hardware handshakes on and off, to see what happens:

stty < /dev/cuad0.init clocal -crtscts (off)
stty < /dev/cuad0.init clocal crtscts (on)

Dealing with cu to change things like the handshake is cumbersome. You could use picocom/minicom, etc, and set the config to turn handshakes off and on. I don't know if the modem side might be alright with or without handshakes, so you'd need to verify that it doesn't hang whichever way you go. The cu utility's hardwareflow variable defaults to off. I think your message is saying that's the problem. I prefer to use picocom or minicom for this kind of stuff.
 
OP
OP
B

balanga

Daemon

Thanks: 87
Messages: 2,221

#3
Thanks for the suggestion. I've installed minicom to check handshaking but not sure how to go about it... I've looked through various function but unsure of which to choose.

It's seems strange that Linux Debian is able to use both dongles without me needing to initialise anything.
 

ronaldlees

Aspiring Daemon

Thanks: 266
Messages: 670

#4
Thanks for the suggestion. I've installed minicom to check handshaking but not sure how to go about it... I've looked through various function but unsure of which to choose.

It's seems strange that Linux Debian is able to use both dongles without me needing to initialise anything.
Were you using minicom on Debian? Minicom would default to hardware handshake=on IIRC.
 
OP
OP
B

balanga

Daemon

Thanks: 87
Messages: 2,221

#5
No, I only used Debian to see if both dongles connect to the Internet which they both did automatically when plugged in.

So are you saying that Debian automatically sets hardware handshake on, whereas FreeBSD does not touch it? How would I confirm that via Minicom?
 

ronaldlees

Aspiring Daemon

Thanks: 266
Messages: 670

#6
No, I only used Debian to see if both dongles connect to the Internet which they both did automatically when plugged in.

So are you saying that Debian automatically sets hardware handshake on, whereas FreeBSD does not touch it? How would I confirm that via Minicom?
In minicom, when Ctrl-A is pressed, a curses menu will appear, and one can press "F" to toggle hardware control handshakes on/off. It's nice to do this inside rather than outside of the program - (sort of the idea of the program) as you know the status of things more readily. The current settings are shown at the top.

I should note that an arbitrary code execution bug was found in minicom about eight months ago. So, make sure you get the patched version (just discovered this myself). I usually use picocom, but it's a little less friendly than minicom (more flexible tho). I don't know if there have been any recent bugs found for picocom.
 
OP
OP
B

balanga

Daemon

Thanks: 87
Messages: 2,221

#7
CD means "carrier detect" - which is a serial hardware connection thing (one of the wires in a serial connection is CD). Try turning hardware handshakes on and off, to see what happens:

stty < /dev/cuad0.init clocal -crtscts (off)
This must have done the trick as I can now connect using my Three modem. I still see:-
Code:
Phase: deflink: /dev/cuaU0.0 doesn't support CD
Not sure what all this means but it seems to connect OK and get an IP address assigned:-
Code:
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1440
   options=80000<LINKSTATE>
   inet 10.170.8.150 --> 10.0.0.2  netmask 0xffffffff
   nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
   groups: tun
   Opened by PID 1261
 

ronaldlees

Aspiring Daemon

Thanks: 266
Messages: 670

#8
Great!

BTW, you can set the hardware handshake off with cu, after it's started, by pressing ~s (tilde s), and then typing "!hardwareflow" - which can be verified by pressing ~v (tilde v). Hardwareflow can be turned back on by pressing ~s, and then entering "hardwareflow" - and again that can be verified by pressing ~v.

Minicom is less typing.
 
Top