Bluetooth and rfcomm GPRS modem init failure



Hello all

Can you help with an issue with my DUN Bluetooth connection to my phone please? I'm running Eeebuntu, a variant of Ubuntu Interpid, on an EeePC 901; I have Bluez 4.30 from the Blueman PPA and NM is 0.7-ubuntu1~nm1~intrepid1 from the NM PPA. Phone is a Blackberry 8100.

Bluez works fine - it creates /dev/rfcomm0 which is detected by NM and the wizard works to set up my GPRS Mobile Broadband connection with the correct details. I can connect manually using gnome-ppp but when I try through NM the network is disconnected immediately and the log says 'Modem initialization failed'.

It seems the modem is rejecting the +FCLASS=0 command in the init string. After searching this mailing list, where there have been similar reports, I restarted NM with NM_SERIAL_DEBUG set. It reveals that the modem initially rejects the init string, accepts the alternate string without +FCLASS=0 and the next AT+CPIN? command but then, for some reason, NM re-sends the init string that had been rejected earlier, causing the initialization failure. Testing tells me the +FCLASS is not supported by the Blackberry's modem.

Here's the log (annotated):

[Bluetooth DUN connection made]
NetworkManager: <info>  rfcomm0: driver is 'rfcomm'.
NetworkManager: <debug> [1239809500.110849] setup_monitor_device(): No monitoring udi provided
NetworkManager: <info>  Found new Modem device 'rfcomm0'.
NetworkManager: <info> (rfcomm0): exported as /org/freedesktop/Hal/devices/rfcomm0
NetworkManager: <info>  (rfcomm0): device state change: 1 -> 2
NetworkManager: <info>  (rfcomm0): deactivating device (reason: 2).
NetworkManager: nm_system_device_flush_ip4_routes_with_iface: assertion `iface_idx >= 0' failed NetworkManager: nm_system_device_flush_ip4_addresses_with_iface: assertion `iface_idx >= 0' failed
[Starting mobile broadband connection]
NetworkManager: <info>  (rfcomm0): device state change: 2 -> 3
NetworkManager: <info> Activation (rfcomm0) starting connection 'Vodafone GPRS'
NetworkManager: <info>  (rfcomm0): device state change: 3 -> 4
NetworkManager: <info> Activation (rfcomm0) Stage 1 of 5 (Device Prepare) scheduled... NetworkManager: <info> Activation (rfcomm0) Stage 1 of 5 (Device Prepare) started... NetworkManager: <debug> [1239809517.895192] nm_serial_device_open(): (rfcomm0) opening device... NetworkManager: <info> Activation (rfcomm0) Stage 1 of 5 (Device Prepare) complete. NetworkManager: <debug> [1239809518.003442] nm_serial_debug(): Sending: 'ATZ E0 V1 X4 &C1 +FCLASS=0'
NetworkManager: <debug> [1239809518.068769] nm_serial_debug(): Got: 'ERROR'
NetworkManager: <WARN>  init_done(): Trying alternate modem initialization
NetworkManager: <debug> [1239809518.070701] nm_serial_debug(): Sending: 'ATZ E0 V1 &C1'
NetworkManager: <debug> [1239809518.110398] nm_serial_debug(): Got: 'OK'
NetworkManager: <debug> [1239809518.111960] nm_serial_debug(): Sending: 'AT+CPIN?' NetworkManager: <debug> [1239809518.134691] nm_serial_debug(): Got: '+CPIN: READY

OK'
NetworkManager: <debug> [1239809518.134945] nm_serial_debug(): Sending: 'ATZ E0 V1 X4 &C1 +FCLASS=0'
NetworkManager: <debug> [1239809518.191349] nm_serial_debug(): Got: 'ERROR'
NetworkManager: <WARN> init_full_done(): Modem second stage initialization failed
NetworkManager: <info>  (rfcomm0): device state change: 4 -> 9
NetworkManager: <debug> [1239809518.193106] nm_serial_device_close(): Closing device 'rfcomm0'
NetworkManager: <info>  Marking connection 'Vodafone GPRS' invalid.
NetworkManager: <info>  Activation (rfcomm0) failed.
NetworkManager: <info>  (rfcomm0): device state change: 9 -> 3
NetworkManager: <info>  (rfcomm0): deactivating device (reason: 0).
NetworkManager: nm_system_device_flush_ip4_routes_with_iface: assertion `iface_idx >= 0' failed NetworkManager: nm_system_device_flush_ip4_addresses_with_iface: assertion `iface_idx >= 0' failed

Is there any way to change the init sequence so the init string isn't re-sent after it has been rejected the first time? I'm not a programmer, though I can compile from source if necessary and I'm happy to test things.

At the end of the day, I can still get a connection manually for those times (like now) when I'm on the road and away from Wifi but I'd like to help to make NM "just work" too.

Julian



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]