Hello, current ofono git version is showing me an odd behaviour on our
netbook today. Before, I have been working with ofonod without problems (the
netbook has a mbmmodem: Dell Computer Corp. F3507g Mobile Broadband Module)
But now, ofonod does not detect properly the devices and their drivers, so I am
trying to debug further.
When it worked okey the output was (I just put here the interesting output
parts) :
export OFONO_AT_DEBUG=1
./src/ofonod -n -d
ofonod[3381]: src/nettime.c:ofono_nettime_driver_register() driver: 0x8104b38
name: Example Network Time
ofonod[3381]: src/history.c:ofono_history_driver_register() driver: 0x8104b00
name: Example Call History
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x8104a80,
name: ste
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x8104a20,
name: ifx
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x81049c0,
name: palmpre
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x81048e0,
name: hfp
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x8104880,
name: nokia
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x8104820,
name: novatel
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x81047c0,
name: huawei
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x8104760,
name: zte
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x8104700,
name: hso
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x81046a0,
name: mbm
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x8104640,
name: calypso
ofonod[3381]: src/modem.c:ofono_modem_driver_register() driver: 0x81045e0,
name: wavecom
...
ofonod[3381]: src/radio-settings.c:ofono_radio_settings_driver_register()
driver: 0x81038e0, name: isimodem
ofonod[3381]: src/gprs.c:ofono_gprs_driver_register() driver: 0x8103904, name:
isimodem
ofonod[3381]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x8103918, name: isimodem
ofonod[3381]: src/audio-settings.c:ofono_audio_settings_driver_register()
driver: 0x810392c, name: isimodem
ofonod[3381]: src/modem.c:ofono_modem_create() name: 3558620212509920, type: mbm
ofonod[3381]: src/modem.c:set_modem_property() modem 0xa103178 property Path
ofonod[3381]: src/modem.c:set_modem_property() modem 0xa103178 property
Registered
ofonod[3381]: plugins/udev.c:add_modem()
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.1/tty/ttyACM0 (mbm)
ofonod[3381]: plugins/udev.c:add_mbm() desc: Dell Wireless 5530 HSPA Mobile
Broadband Minicard Modem
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
Registered
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
ModemDevice
ofonod[3381]: src/modem.c:set_modem_property() modem 0xa103178 property
ModemDevice
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
ModemDevice
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
DataDevice
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
NetworkInterface
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
GPSDevice
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property Path
ofonod[3381]: plugins/udev.c:add_modem()
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.3/tty/ttyACM1 (mbm)
ofonod[3381]: plugins/udev.c:add_mbm() desc: Dell Wireless 5530 HSPA Mobile
Broadband Minicard Modem 2
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
Registered
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
ModemDevice
ofonod[3381]: src/modem.c:set_modem_property() modem 0xa103178 property
DataDevice
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
ModemDevice
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
DataDevice
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
NetworkInterface
ofonod[3381]: src/modem.c:get_modem_property() modem 0xa103178 property
GPSDevice
...
(it shows the add_modem(), add_mbm(), etc). And the test/* scripts worked well
(list-modems, enable-modem, online-modem).
Then, I guess that something changed (but I am trying to find what) and ofonod
does not find the modem anymore. The new ofonod output (check how it does not
find the ttyACM* mbm modem anymore) is :
r...@profusion-inspiron-1010:/home/profusion/rafa/latest/ofono# ./src/ofonod -n
-d
ofonod[11030]: oFono version 0.36
ofonod[11030]: src/plugin.c:__ofono_plugin_init()
ofonod[11030]: plugins/push-notification.c:push_notification_init()
ofonod[11030]: plugins/smart-messaging.c:smart_messaging_init()
ofonod[11030]: src/nettime.c:ofono_nettime_driver_register() driver: 0x8103b18
name: Example Network Time
ofonod[11030]: src/history.c:ofono_history_driver_register() driver: 0x8103ae0
name: Example Call History
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x8103a60,
name: ste
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x8103a00,
name: ifx
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x81039a0,
name: palmpre
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x81038c0,
name: hfp
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x8103860,
name: nokia
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x8103800,
name: novatel
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x81037a0,
name: huawei
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x8103740,
name: zte
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x81036e0,
name: hso
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x8103680,
name: mbm
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x8103620,
name: calypso
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x81035c0,
name: wavecom
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x8103560,
name: g1
ofonod[11030]: src/modem.c:ofono_modem_driver_register() driver: 0x8103500,
name: phonesim
...
ofonod[11030]: src/radio-settings.c:ofono_radio_settings_driver_register()
driver: 0x81028e0, name: isimodem
ofonod[11030]: src/gprs.c:ofono_gprs_driver_register() driver: 0x8102904, name:
isimodem
ofonod[11030]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x8102918, name: isimodem
ofonod[11030]: src/audio-settings.c:ofono_audio_settings_driver_register()
driver: 0x810292c, name: isimodem
ofonod[11030]: plugins/bluetooth.c:manager_properties_cb()
ofonod[11030]: plugins/bluetooth.c:parse_adapters()
ofonod[11030]: plugins/bluetooth.c:parse_adapters() Calling GetProperties on
/org/bluez/1056/hci0
ofonod[11030]: plugins/bluetooth.c:parse_devices()
ofonod[11030]: plugins/bluetooth.c:adapter_properties_cb() Adapter Address:
00:22:69:C7:85:89, Path: /org/bluez/1056/hci0
^Cofonod[11030]: src/plugin.c:__ofono_plugin_cleanup()
ofonod[11030]: plugins/push-notification.c:push_notification_exit()
ofonod[11030]: plugins/smart-messaging.c:smart_messaging_exit()
list-modes, enable-modem, etc did not work either. (And then I did CTRL+C to
finish.)
With a bit of debug it shows something weird. I found that
plugins/udev.c:add_modem() is called, but for some reason it does not have the
same
behaviour than before.
The patch below is a little of debug added to add_modem()
diff --git a/plugins/udev.c b/plugins/udev.c
index 255755e..a877b59 100644
--- a/plugins/udev.c
+++ b/plugins/udev.c
@@ -453,9 +453,12 @@ static void add_modem(struct udev_device *udev_device)
{
struct ofono_modem *modem;
struct udev_device *parent;
- const char *devpath, *curpath, *driver;
+ const char *devpath, *curpath, *driver, *subsystem;
+ devpath = udev_device_get_devpath(udev_device);
+ subsystem = udev_device_get_subsystem(udev_device);
driver = get_driver(udev_device);
+ DBG("devpath : %s - driver : %s - subsystem : %s", devpath, driver,
subsystem);
if (driver != NULL) {
devpath = udev_device_get_devpath(udev_device);
if (devpath == NULL)
@@ -476,13 +479,22 @@ static void add_modem(struct udev_device *udev_device)
if (parent == NULL)
return;
+ devpath = udev_device_get_devpath(parent);
+ subsystem = udev_device_get_subsystem(parent);
driver = get_driver(parent);
+ DBG("devpath : %s - driver : %s - subsystem : %s", devpath, driver,
subsystem);
if (driver == NULL) {
parent = udev_device_get_parent(parent);
+ devpath = udev_device_get_devpath(parent);
+ subsystem = udev_device_get_subsystem(parent);
driver = get_driver(parent);
+ DBG("devpath : %s - driver : %s - subsystem : %s", devpath,
driver, subsystem);
if (driver == NULL) {
parent = udev_device_get_parent(parent);
driver = get_driver(parent);
+ devpath = udev_device_get_devpath(parent);
+ subsystem = udev_device_get_subsystem(parent);
+ DBG("devpath : %s - driver : %s - subsystem : %s",
devpath, driver, subsystem);
if (driver == NULL)
return;
}
And this is the ofonod output with that patch applied :
r...@profusion-inspiron-1010:/home/profusion/rafa/latest/ofono# ./src/ofonod -n
-d
ofonod[11388]: oFono version 0.36
ofonod[11388]: src/plugin.c:__ofono_plugin_init()
ofonod[11388]: plugins/push-notification.c:push_notification_init()
ofonod[11388]: plugins/smart-messaging.c:smart_messaging_init()
ofonod[11388]: src/nettime.c:ofono_nettime_driver_register() driver: 0x8103b18
name: Example Network Time
ofonod[11388]: src/history.c:ofono_history_driver_register() driver: 0x8103ae0
name: Example Call History
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x8103a60,
name: ste
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x8103a00,
name: ifx
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x81039a0,
name: palmpre
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x81038c0,
name: hfp
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x8103860,
name: nokia
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x8103800,
name: novatel
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x81037a0,
name: huawei
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x8103740,
name: zte
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x81036e0,
name: hso
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x8103680,
name: mbm
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x8103620,
name: calypso
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x81035c0,
name: wavecom
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x8103560,
name: g1
ofonod[11388]: src/modem.c:ofono_modem_driver_register() driver: 0x8103500,
name: phonesim
ofonod[11388]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x81034ec, name: phonesim
...
ofonod[11388]: src/radio-settings.c:ofono_radio_settings_driver_register()
driver: 0x81028e0, name: isimodem
ofonod[11388]: src/gprs.c:ofono_gprs_driver_register() driver: 0x8102904, name:
isimodem
ofonod[11388]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x8102918, name: isimodem
ofonod[11388]: src/audio-settings.c:ofono_audio_settings_driver_register()
driver: 0x810292c, name: isimodem
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.1/tty/ttyACM0 - driver : (null)
- subsystem : tty
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.1 - driver : (null) - subsystem
: usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5 - driver : (null) - subsystem : usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1 - driver : (null) - subsystem : usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.3/tty/ttyACM1 - driver : (null)
- subsystem : tty
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.3 - driver : (null) - subsystem
: usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5 - driver : (null) - subsystem : usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1 - driver : (null) - subsystem : usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.7/net/wwan0 - driver : (null) -
subsystem : net
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.7 - driver : (null) - subsystem
: usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5 - driver : (null) - subsystem : usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1 - driver : (null) - subsystem : usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.9/tty/ttyACM2 - driver : (null)
- subsystem : tty
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.9 - driver : (null) - subsystem
: usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1/1-5 - driver : (null) - subsystem : usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/pci0000:00/0000:00:1d.7/usb1 - driver : (null) - subsystem : usb
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/platform/serial8250/tty/ttyS0 - driver : (null) - subsystem : tty
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/platform/serial8250 - driver : (null) - subsystem : platform
ofonod[11388]: plugins/udev.c:add_modem() devpath : /devices/platform - driver
: (null) - subsystem : (null)
ofonod[11388]: plugins/udev.c:add_modem() devpath : (null) - driver : (null) -
subsystem : (null)
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/platform/serial8250/tty/ttyS1 - driver : (null) - subsystem : tty
ofonod[11388]: plugins/udev.c:add_modem() devpath :
/devices/platform/serial8250 - driver : (null) - subsystem : platform
ofonod[11388]: plugins/udev.c:add_modem() devpath : /devices/platform - driver
: (null) - subsystem : (null)
Then I checked a bit the system..
The system reports this information about the mbmmodem :
# lsusb
Bus 001 Device 003: ID 413c:8147 Dell Computer Corp. F3507g Mobile Broadband
Module
r...@profusion-inspiron-1010:/home/profusion/rafa/latest/ofono# dmesg | grep -i
cdc
[ 11.079706] usbcore: registered new interface driver cdc_acm
[ 11.079716] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems
and ISDN adapters
[ 3137.190284] cdc_acm 1-5:1.1: ttyACM0: USB ACM device
[ 3137.192278] cdc_acm 1-5:1.3: ttyACM1: USB ACM device
[ 3137.194623] cdc_acm 1-5:1.9: ttyACM2: USB ACM device
r...@profusion-inspiron-1010:/home/profusion/rafa/latest/ofono# lsusb -v | grep
-i mobile
Bus 001 Device 003: ID 413c:8147 Dell Computer Corp. F3507g Mobile Broadband
Module
idProduct 0x8147 F3507g Mobile Broadband Module
iProduct 2 Dell Wireless 5530 HSPA Mobile Broadband Minicard
Device
iInterface 6 Dell Wireless 5530 HSPA Mobile Broadband
Minicard Modem
iInterface 7 Dell Wireless 5530 HSPA Mobile Broadband
Minicard Modem
iInterface 8 Dell Wireless 5530 HSPA Mobile Broadband
Minicard Modem 2
iInterface 9 Dell Wireless 5530 HSPA Mobile Broadband
Minicard Modem 2
iInterface 10 Dell Wireless 5530 HSPA Mobile Broadband
Minicard
iInterface 11 Dell Wireless 5530 HSPA Mobile Broadband
Minicard PC SC Port
bInterfaceSubClass 10 Mobile Direct Line
iInterface 17 Dell Wireless 5530 HSPA Mobile Broadband
Minicard GPS Port
iInterface 18 Dell Wireless 5530 HSPA Mobile Broadband
Minicard GPS Port
iInterface 6 Dell Wireless 5530 HSPA Mobile Broadband
Minicard Modem
iInterface 7 Dell Wireless 5530 HSPA Mobile Broadband
Minicard Modem
iInterface 8 Dell Wireless 5530 HSPA Mobile Broadband
Minicard Modem 2
iInterface 9 Dell Wireless 5530 HSPA Mobile Broadband
Minicard Modem 2
iInterface 10 Dell Wireless 5530 HSPA Mobile Broadband
Minicard
iInterface 11 Dell Wireless 5530 HSPA Mobile Broadband
Minicard PC SC Port
bInterfaceSubClass 10 Mobile Direct Line
r...@profusion-inspiron-1010:/home/profusion/rafa/latest/ofono# udevadm info
--name=/dev/ttyACM0 --attribute-walk
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device
'/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.1/tty/ttyACM0':
KERNEL=="ttyACM0"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.1':
KERNELS=="1-5:1.1"
SUBSYSTEMS=="usb"
DRIVERS=="cdc_acm"
ATTRS{bInterfaceNumber}=="01"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bNumEndpoints}=="01"
ATTRS{bInterfaceClass}=="02"
ATTRS{bInterfaceSubClass}=="02"
ATTRS{bInterfaceProtocol}=="01"
ATTRS{modalias}=="usb:v413Cp8147d0000dc02dsc00dp00ic02isc02ip01"
ATTRS{supports_autosuspend}=="1"
ATTRS{interface}=="Dell Wireless 5530 HSPA Mobile Broadband Minicard Modem"
ATTRS{bmCapabilities}=="7"
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1/1-5':
KERNELS=="1-5"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}=="WMC Device"
...
I see that, for example, udevadm info --name=/dev/ttyACM0 --attribute-walk
shows the proper parents and drivers for ttyACM0, but from the log of ofonod
with
the debug patch added it does not get the proper "driver" for every
parent of every device.
Maybe I am missing something, but the system has not changed, so I guess
that I did something wrong. If you have suggestions let me know, I would like
to debug further.
Thanks in advance.
Rafael Zurita
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono