Comment 5 for bug 384344

Revision history for this message
Tim Cole (timothy-j-cole) wrote :

Ive noticed that your device shows 4 ttys and i will assume that ttyUSB0 is the cdma modem since you say you can connect with wvdial on that tty.

These are the steps I followed to get my modem recognized by NetworkManager.

The clue here is the line that says:
"Jun 6 23:06:13 xxx NetworkManager: <info> (ttyUSB0): found serial port (udev: hal:CDMA)"

In a working configuration I would expect it to say:
"Jun 6 23:06:13 xxx NetworkManager: <info> (ttyUSB0): found serial port (udev:CDMA hal:CDMA)" I'm guessing.

When you plug in your device, there are some udev rules that get run.
One of the rules that gets run, probes the modem to determine its capabilities. If this probe does not execute correctly, NM will not know that it can use your device.

The program that probes is /lib/udev/nm-modem-probe.

You can run this standalone to check that you modem is probed correctly.
try /lib/udev/nm-modem-probe --verbose --export /dev/ttyUSB0

You show get a bunch of output and ultimatleey two lines that read something like,
ID_NM_PROBED=1
ID_NM_CDMA=1 (just guessing here, mine is GSM).

Once you know the modem is being probed correctly, check that the rules are configured correctly.
In jaunty the live in
/lib/udev/rules.d/77-nm-probe-modem-capabilities.rules

for testing you could use something like

ACTION!="add|change", GOTO="nm_modem_probe_end"
SUBSYSTEM!="tty", GOTO="nm_modem_probe_end"
KERNEL!="tty*", GOTO="nm_modem_probe_end"

SUBSYSTEM=="tty", SUBSYSTEMS=="usb", DRIVERS=="?*", ENV{NM_MODEM_DRIVER}="$attr{driver}"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", ENV{NM_MODEM_USB_INTERFACE_NUMBER}="$attr{bInterfaceNumber}"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="?*", ATTRS{idProduct}=="?*", IMPORT{program}="nm-modem-probe --vid 0x$attr{idVendor} --pid 0x$attr{idProduct} --usb-interface $env{NM_MODEM_USB_INTERFACE_NUMBER} --driver $env{NM_MODEM_DRIVER} --delay 3000 --export $tempnode", GOTO="nm_modem_probe_end"

LABEL="nm_modem_probe_end"

If this does not work, please attach the verbose output of nm-modem-probe.
Also attach the ouput of udevadm query all on the /sys/class/tty/ttyUSB0 path.