* [PATCH 0/5] udev rules update
@ 2011-11-29 12:21 Philippe Nunes
2011-11-29 12:20 ` Marcel Holtmann
` (5 more replies)
0 siblings, 6 replies; 16+ messages in thread
From: Philippe Nunes @ 2011-11-29 12:21 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 1548 bytes --]
This set of patches have been sent this summer but not upstreamed.
As few bugs have been opened which could be fixed by those patches, I resend them
for review.
- For Speedup dongles, the logic in udevng is to assign the modem port on the
latest interface. This is not true for SpeedUp SU-7300U (BUG #23168) and
SpeedUp 9800 (BUG #23167). So, I added 2 specific rules for both dongles.
- For dongle ZTE MF190, 6 interfaces are present and we shall use the interface
ttyUSB4 for modem channel. The logic in udevng is to assign the modem channel
on the latest interface. To not break the support of ZTE modems with 5
interfaces (which are using the 4th one for PPP, like K3570), I can't extend
the current logic to take into account the ttyUSB4. So, I added a specific rule
for ZTE MF190.
I added also a specific rule for the dongle ZTE MF668 as the modem channel is
not on the latest interface (BUG #23683)
- I modified also udevng.c in order to avoid aux/modem channel assignment done
according OFONO_LABEL to be overridden by the default assignment.
Philippe Nunes (5):
udev: Add rules to support ZTE MF668 dongle
udev: Add rules to support ZTE MF190 dongle
udevng.c: tty assignment according OFONO_LABEL should take precedence
udev: Add rules to support Speedup 7300 dongle
udev: Add rules to support SpeedUp 9800 dongle
plugins/ofono.rules | 20 ++++++++++++++++
plugins/udevng.c | 61 +++++++++++++++++++++++++++++++-------------------
2 files changed, 58 insertions(+), 23 deletions(-)
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [PATCH 0/5] udev rules update 2011-11-29 12:21 [PATCH 0/5] udev rules update Philippe Nunes @ 2011-11-29 12:20 ` Marcel Holtmann 2011-11-29 14:51 ` Philippe Nunes 2011-11-29 12:21 ` [PATCH 1/5] udev: Add rules to support ZTE MF668 dongle Philippe Nunes ` (4 subsequent siblings) 5 siblings, 1 reply; 16+ messages in thread From: Marcel Holtmann @ 2011-11-29 12:20 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 1209 bytes --] Hi Philippe, > This set of patches have been sent this summer but not upstreamed. > As few bugs have been opened which could be fixed by those patches, I resend them > for review. > > - For Speedup dongles, the logic in udevng is to assign the modem port on the > latest interface. This is not true for SpeedUp SU-7300U (BUG #23168) and > SpeedUp 9800 (BUG #23167). So, I added 2 specific rules for both dongles. > > - For dongle ZTE MF190, 6 interfaces are present and we shall use the interface > ttyUSB4 for modem channel. The logic in udevng is to assign the modem channel > on the latest interface. To not break the support of ZTE modems with 5 > interfaces (which are using the 4th one for PPP, like K3570), I can't extend > the current logic to take into account the ttyUSB4. So, I added a specific rule > for ZTE MF190. > I added also a specific rule for the dongle ZTE MF668 as the modem channel is > not on the latest interface (BUG #23683) why is all this reasoning here and not in the commit message of the patches? I expect that every patch has a proper commit message that explains its goal. Just a non-meaningful subject line is not enough. Regards Marcel ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/5] udev rules update 2011-11-29 12:20 ` Marcel Holtmann @ 2011-11-29 14:51 ` Philippe Nunes 0 siblings, 0 replies; 16+ messages in thread From: Philippe Nunes @ 2011-11-29 14:51 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 1813 bytes --] Hi Marcel, On 11/29/2011 01:20 PM, Marcel Holtmann wrote: > Hi Philippe, > >> This set of patches have been sent this summer but not upstreamed. >> As few bugs have been opened which could be fixed by those patches, I resend them >> for review. >> >> - For Speedup dongles, the logic in udevng is to assign the modem port on the >> latest interface. This is not true for SpeedUp SU-7300U (BUG #23168) and >> SpeedUp 9800 (BUG #23167). So, I added 2 specific rules for both dongles. >> >> - For dongle ZTE MF190, 6 interfaces are present and we shall use the interface >> ttyUSB4 for modem channel. The logic in udevng is to assign the modem channel >> on the latest interface. To not break the support of ZTE modems with 5 >> interfaces (which are using the 4th one for PPP, like K3570), I can't extend >> the current logic to take into account the ttyUSB4. So, I added a specific rule >> for ZTE MF190. >> I added also a specific rule for the dongle ZTE MF668 as the modem channel is >> not on the latest interface (BUG #23683) > > why is all this reasoning here and not in the commit message of the > patches? I expect that every patch has a proper commit message that > explains its goal. Just a non-meaningful subject line is not enough. Yes, you're right, I should move this explanation in the commit messages. Before, sending a new set of patches accordingly, I would like to raise an issue regarding the patches for ofono.rules: Your commit "build: do not install ofono.rules anymore" regarding Makefile.am makes none effective my proposed changes in ofono rules. Could you explain why the file ofono.rules is not installed anymore whereas we are still supposed to consider some specific properties exposed by this file? Thanks, Regards, Philippe. ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/5] udev: Add rules to support ZTE MF668 dongle 2011-11-29 12:21 [PATCH 0/5] udev rules update Philippe Nunes 2011-11-29 12:20 ` Marcel Holtmann @ 2011-11-29 12:21 ` Philippe Nunes 2011-12-19 5:49 ` Marcel Holtmann 2011-11-29 12:21 ` [PATCH 2/5] udev: Add rules to support ZTE MF190 dongle Philippe Nunes ` (3 subsequent siblings) 5 siblings, 1 reply; 16+ messages in thread From: Philippe Nunes @ 2011-11-29 12:21 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 781 bytes --] --- plugins/ofono.rules | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/plugins/ofono.rules b/plugins/ofono.rules index 30a1b7e..c7fac57 100644 --- a/plugins/ofono.rules +++ b/plugins/ofono.rules @@ -15,6 +15,15 @@ KERNEL=="shrm0", ENV{OFONO_DRIVER}="u8500" LABEL="ofono_isi_end" +SUBSYSTEM!="tty", GOTO="ofono_tty_end" +KERNEL!="ttyUSB[0-9]*", GOTO="ofono_tty_end" + +# ZTE +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="02", ENV{OFONO_LABEL}="modem" +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" + +LABEL="ofono_tty_end" + SUBSYSTEM!="usb", GOTO="ofono_end" ENV{DEVTYPE}!="usb_device", GOTO="ofono_end" -- 1.7.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 1/5] udev: Add rules to support ZTE MF668 dongle 2011-11-29 12:21 ` [PATCH 1/5] udev: Add rules to support ZTE MF668 dongle Philippe Nunes @ 2011-12-19 5:49 ` Marcel Holtmann 2011-12-19 17:34 ` Philippe Nunes 0 siblings, 1 reply; 16+ messages in thread From: Marcel Holtmann @ 2011-12-19 5:49 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 933 bytes --] Hi Philippe, > plugins/ofono.rules | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/plugins/ofono.rules b/plugins/ofono.rules > index 30a1b7e..c7fac57 100644 > --- a/plugins/ofono.rules > +++ b/plugins/ofono.rules > @@ -15,6 +15,15 @@ KERNEL=="shrm0", ENV{OFONO_DRIVER}="u8500" > > LABEL="ofono_isi_end" > > +SUBSYSTEM!="tty", GOTO="ofono_tty_end" > +KERNEL!="ttyUSB[0-9]*", GOTO="ofono_tty_end" > + > +# ZTE > +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="02", ENV{OFONO_LABEL}="modem" > +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" > + > +LABEL="ofono_tty_end" > + what are we trying to fix here. Please include /proc/bus/usb/devices or usb-devices and some oFono debug lines that show that without this we are doing a wrong assignment. Regards Marcel ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/5] udev: Add rules to support ZTE MF668 dongle 2011-12-19 5:49 ` Marcel Holtmann @ 2011-12-19 17:34 ` Philippe Nunes 0 siblings, 0 replies; 16+ messages in thread From: Philippe Nunes @ 2011-12-19 17:34 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 2200 bytes --] Hi Marcel, On 12/19/2011 06:49 AM, Marcel Holtmann wrote: > Hi Philippe, > >> plugins/ofono.rules | 9 +++++++++ >> 1 files changed, 9 insertions(+), 0 deletions(-) >> >> diff --git a/plugins/ofono.rules b/plugins/ofono.rules >> index 30a1b7e..c7fac57 100644 >> --- a/plugins/ofono.rules >> +++ b/plugins/ofono.rules >> @@ -15,6 +15,15 @@ KERNEL=="shrm0", ENV{OFONO_DRIVER}="u8500" >> >> LABEL="ofono_isi_end" >> >> +SUBSYSTEM!="tty", GOTO="ofono_tty_end" >> +KERNEL!="ttyUSB[0-9]*", GOTO="ofono_tty_end" >> + >> +# ZTE >> +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="02", ENV{OFONO_LABEL}="modem" >> +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" >> + >> +LABEL="ofono_tty_end" >> + > > what are we trying to fix here. Please include /proc/bus/usb/devices or > usb-devices and some oFono debug lines that show that without this we > are doing a wrong assignment. > We are trying to fix the BUG#23683. In the attached oFono AT log, you can notice that the modem port is not responsive. No answer to the command: Modem: > ATZ E0 +CMEE=1\r usb-devices gives: T: Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 11 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=19d2 ProdID=0017 Rev=00.00 S: Manufacturer=ZTE,Incorporated S: Product=ZTE HSPA Technologies MSM S: SerialNumber=P680A1ZTED010000 C: #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage In practice, the modem port should be assigned to /dev/ttyUSB2 and not to the latest interface as done by udevng. Regards, Philippe. > Regards > > Marcel > > > _______________________________________________ > ofono mailing list > ofono(a)ofono.org > http://lists.ofono.org/listinfo/ofono > [-- Attachment #2: ofono_log.txt --] [-- Type: text/plain, Size: 31591 bytes --] nicolas@nicolas-desk:ofono (master %)$ sudo OFONO_AT_DEBUG=1 src/ofonod -dn ofonod[3008]: oFono version 0.53 ofonod[3008]: src/plugin.c:__ofono_plugin_init() ofonod[3008]: plugins/push-notification.c:push_notification_init() ofonod[3008]: plugins/smart-messaging.c:smart_messaging_init() ofonod[3008]: examples/emulator.c:example_emulator_init() ofonod[3008]: src/gprs-provision.c:ofono_gprs_provision_driver_register() driver: 0x813b4e0 name: Example GPRS context provisioning ofonod[3008]: src/nettime.c:ofono_nettime_driver_register() driver: 0x813b4a0 name: Example Network Time ofonod[3008]: src/history.c:ofono_history_driver_register() driver: 0x813b460 name: Example Call History ofonod[3008]: plugins/connman.c:connman_init() ofonod[3008]: src/private-network.c:ofono_private_network_driver_register() driver: 0x813b420, name: ConnMan Private Network ofonod[3008]: plugins/dun_gw.c:dun_gw_init() ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813b320, name: hfp ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813b280, name: samsung ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813b220, name: speedupcdma ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813b1c0, name: speedup ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813b160, name: alcatel ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813b100, name: telit ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813b0a0, name: linktop ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813b040, name: nokiacdma ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813afe0, name: nokia ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813af80, name: tc65 ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813aee0, name: ste ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813ae80, name: ifx ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813ae20, name: palmpre ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813adc0, name: novatel ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813ad60, name: sierra ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813ad00, name: huaweicdma ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813ac80, name: huawei ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813ac20, name: zte ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813abc0, name: hso ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813ab60, name: mbm ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813ab00, name: calypso ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813aaa0, name: wavecom ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813aa40, name: gobi ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813a9e0, name: g1 ofonod[3008]: src/cdma-netreg.c:ofono_cdma_netreg_driver_register() driver: 0x813a9a0, name: huaweicdmamodem ofonod[3008]: src/cdma-voicecall.c:ofono_cdma_voicecall_driver_register() driver: 0x813a920, name: cdmamodem ofonod[3008]: src/modem.c:ofono_devinfo_driver_register() driver: 0x813a940, name: cdmamodem ofonod[3008]: src/cdma-connman.c:ofono_cdma_connman_driver_register() driver: 0x813a964, name: cdmamodem ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813a880, name: phonesim ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x813a8c0, name: localhfp ofonod[3008]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x813a854, name: phonesim ofonod[3008]: src/ctm.c:ofono_ctm_driver_register() driver: 0x813a840, name: phonesim ofonod[3008]: plugins/phonesim.c:parse_config() filename /etc/ofono/phonesim.conf ofonod[3008]: plugins/phonesim.c:create_modem() group phonesim ofonod[3008]: src/modem.c:ofono_modem_create() name: phonesim, type: phonesim ofonod[3008]: src/modem.c:set_modem_property() modem 0xa098528 property Address ofonod[3008]: src/modem.c:set_modem_property() modem 0xa098528 property Port ofonod[3008]: plugins/phonesim.c:create_modem() 0xa098528 ofonod[3008]: src/modem.c:ofono_modem_register() 0xa098528 ofonod[3008]: plugins/phonesim.c:phonesim_probe() 0xa098528 ofonod[3008]: src/modem.c:emit_modem_added() 0xa098528 ofonod[3008]: src/modem.c:call_modemwatches() 0xa098528 added:1 ofonod[3008]: plugins/hfp_ag.c:modem_watch() modem: 0xa098528, added: 1 ofonod[3008]: plugins/dun_gw.c:modem_watch() modem: 0xa098528, added: 1 ofonod[3008]: examples/emulator.c:modem_watch() modem: 0xa098528, added: 1 ofonod[3008]: plugins/smart-messaging.c:modem_watch() modem: 0xa098528, added: 1 ofonod[3008]: plugins/push-notification.c:modem_watch() modem: 0xa098528, added: 1 ofonod[3008]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x813a760, name: hfpmodem ofonod[3008]: src/network.c:ofono_netreg_driver_register() driver: 0x813a7c0, name: hfpmodem ofonod[3008]: src/call-volume.c:ofono_call_volume_driver_register() driver: 0x813a7f4, name: hfpmodem ofonod[3008]: src/network.c:ofono_netreg_driver_register() driver: 0x813a6e0, name: dunmodem ofonod[3008]: src/gprs.c:ofono_gprs_driver_register() driver: 0x813a70c, name: dunmodem ofonod[3008]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x813a600, name: stemodem ofonod[3008]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x813a68c, name: stemodem ofonod[3008]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0x813a660, name: stemodem ofonod[3008]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x813a4c0, name: ifxmodem ofonod[3008]: src/audio-settings.c:ofono_audio_settings_driver_register() driver: 0x813a510, name: ifxmodem ofonod[3008]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0x813a540, name: ifxmodem ofonod[3008]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x813a56c, name: ifxmodem ofonod[3008]: src/stk.c:ofono_stk_driver_register() driver: 0x813a590, name: ifxmodem ofonod[3008]: src/ctm.c:ofono_ctm_driver_register() driver: 0x813a5b8, name: ifxmodem ofonod[3008]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x813a440, name: hsomodem ofonod[3008]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0x813a460, name: hsomodem ofonod[3008]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x813a3a0, name: mbmmodem ofonod[3008]: src/stk.c:ofono_stk_driver_register() driver: 0x813a3c4, name: mbmmodem ofonod[3008]: src/location-reporting.c:ofono_location_reporting_driver_register() driver: 0x813a3e4, name: mbmmodem ofonod[3008]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x813a300, name: calypsomodem ofonod[3008]: src/stk.c:ofono_stk_driver_register() driver: 0x813a348, name: calypsomodem ofonod[3008]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x813a220, name: huaweimodem ofonod[3008]: src/audio-settings.c:ofono_audio_settings_driver_register() driver: 0x813a268, name: huaweimodem ofonod[3008]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0x813a2a0, name: huaweimodem ofonod[3008]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x813a27c, name: huaweimodem ofonod[3008]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0x813a1c0, name: nwmodem ofonod[3008]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x813a020, name: atmodem ofonod[3008]: src/modem.c:ofono_devinfo_driver_register() driver: 0x813a0c0, name: atmodem ofonod[3008]: src/call-barring.c:ofono_call_barring_driver_register() driver: 0x813a078, name: atmodem ofonod[3008]: src/call-forwarding.c:ofono_call_forwarding_driver_register() driver: 0x8139e40, name: atmodem ofonod[3008]: src/call-meter.c:ofono_call_meter_driver_register() driver: 0x8139e80, name: atmodem ofonod[3008]: src/call-settings.c:ofono_call_settings_driver_register() driver: 0x8139d40, name: atmodem ofonod[3008]: src/phonebook.c:ofono_phonebook_driver_register() driver: 0x813a098, name: atmodem ofonod[3008]: src/ussd.c:ofono_ussd_driver_register() driver: 0x8139fec, name: atmodem ofonod[3008]: src/sms.c:ofono_sms_driver_register() driver: 0x8139dc0, name: atmodem ofonod[3008]: src/sim.c:ofono_sim_driver_register() driver: 0x8139f40, name: atmodem ofonod[3008]: src/stk.c:ofono_stk_driver_register() driver: 0x8139fcc, name: atmodem ofonod[3008]: src/network.c:ofono_netreg_driver_register() driver: 0x8139ee0, name: atmodem ofonod[3008]: src/cbs.c:ofono_cbs_driver_register() driver: 0x8139e20, name: atmodem ofonod[3008]: src/call-volume.c:ofono_call_volume_driver_register() driver: 0x813a0e4, name: atmodem ofonod[3008]: src/gprs.c:ofono_gprs_driver_register() driver: 0x813a114, name: atmodem ofonod[3008]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x813a138, name: atmodem ofonod[3008]: src/sim-auth.c:ofono_sim_auth_driver_register() driver: 0x813a14c, name: atmodem ofonod[3008]: src/gnss.c:ofono_gnss_driver_register() driver: 0x813a164, name: atmodem ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x8139b40, name: u8500 ofonod[3008]: src/modem.c:ofono_devinfo_driver_register() driver: 0x8139b20, name: u8500 ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x8139ac0, name: n900 ofonod[3008]: src/modem.c:ofono_modem_driver_register() driver: 0x8139a60, name: isiusb ofonod[3008]: src/modem.c:ofono_devinfo_driver_register() driver: 0x8139750, name: isimodem ofonod[3008]: src/phonebook.c:ofono_phonebook_driver_register() driver: 0x8139740, name: isimodem ofonod[3008]: src/network.c:ofono_netreg_driver_register() driver: 0x8139780, name: isimodem ofonod[3008]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x81397c0, name: isimodem ofonod[3008]: src/sms.c:ofono_sms_driver_register() driver: 0x8139820, name: isimodem ofonod[3008]: src/cbs.c:ofono_cbs_driver_register() driver: 0x8139840, name: isimodem ofonod[3008]: src/sim.c:ofono_sim_driver_register() driver: 0x8139860, name: isimodem ofonod[3008]: src/ussd.c:ofono_ussd_driver_register() driver: 0x81398a8, name: isimodem ofonod[3008]: src/call-forwarding.c:ofono_call_forwarding_driver_register() driver: 0x81398c0, name: isimodem ofonod[3008]: src/call-settings.c:ofono_call_settings_driver_register() driver: 0x81398e0, name: isimodem ofonod[3008]: src/call-barring.c:ofono_call_barring_driver_register() driver: 0x8139910, name: isimodem ofonod[3008]: src/call-meter.c:ofono_call_meter_driver_register() driver: 0x8139940, name: isimodem ofonod[3008]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0x8139980, name: isimodem ofonod[3008]: src/gprs.c:ofono_gprs_driver_register() driver: 0x81399a4, name: isimodem ofonod[3008]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x81399b8, name: isimodem ofonod[3008]: src/audio-settings.c:ofono_audio_settings_driver_register() driver: 0x81399cc, name: isimodem ofonod[3008]: src/sim.c:ofono_sim_driver_register() driver: 0x81399e0, name: wgmodem2.5 ofonod[3008]: plugins/udevng.c:udev_start() ofonod[3008]: plugins/udevng.c:enumerate_devices() ofonod[3008]: src/private-network.c:ofono_private_network_driver_register() driver: 0x813b540, name: Example Private Network Driver ofonod[3008]: plugins/phonesim.c:phonesim_enable() 0xa098528 ofonod[3008]: src/modem.c:get_modem_property() modem 0xa098528 property Address ofonod[3008]: src/modem.c:get_modem_property() modem 0xa098528 property Port ofonod[3008]: src/modem.c:get_modem_property() modem 0xa098528 property Modem ofonod[3008]: src/modem.c:get_modem_property() modem 0xa098528 property Multiplexer ofonod[3008]: plugins/phonesim.c:phonesim_enable() 0xa098528 ofonod[3008]: src/modem.c:get_modem_property() modem 0xa098528 property Address ofonod[3008]: src/modem.c:get_modem_property() modem 0xa098528 property Port ofonod[3008]: src/modem.c:get_modem_property() modem 0xa098528 property Modem ofonod[3008]: src/modem.c:get_modem_property() modem 0xa098528 property Multiplexer ofonod[3008]: plugins/udevng.c:check_usb_device() option [19d2:0017] ofonod[3008]: plugins/udevng.c:add_device() /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.4/2-1.3.4:1.2/ttyUSB2/tty/ttyUSB2 ofonod[3008]: plugins/udevng.c:add_device() /dev/ttyUSB2 (zte) 255/255/255 [02] ==> (null) (null) ofonod[3008]: plugins/udev.c:udev_event() subsystem tty add ofonod[3008]: plugins/udev.c:udev_event() subsystem tty finished ofonod[3008]: plugins/udevng.c:check_usb_device() option [19d2:0017] ofonod[3008]: plugins/udevng.c:add_device() /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.4/2-1.3.4:1.3/ttyUSB3/tty/ttyUSB3 ofonod[3008]: plugins/udevng.c:add_device() /dev/ttyUSB3 (zte) 255/255/255 [03] ==> (null) (null) ofonod[3008]: plugins/udev.c:udev_event() subsystem tty add ofonod[3008]: plugins/udev.c:udev_event() subsystem tty finished ofonod[3008]: plugins/udevng.c:check_usb_device() option [19d2:0017] ofonod[3008]: plugins/udevng.c:add_device() /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.4/2-1.3.4:1.1/ttyUSB1/tty/ttyUSB1 ofonod[3008]: plugins/udevng.c:add_device() /dev/ttyUSB1 (zte) 255/255/255 [01] ==> (null) (null) ofonod[3008]: plugins/udev.c:udev_event() subsystem tty add ofonod[3008]: plugins/udev.c:udev_event() subsystem tty finished ofonod[3008]: plugins/udevng.c:check_usb_device() option [19d2:0017] ofonod[3008]: plugins/udevng.c:add_device() /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.4/2-1.3.4:1.0/ttyUSB0/tty/ttyUSB0 ofonod[3008]: plugins/udevng.c:add_device() /dev/ttyUSB0 (zte) 255/255/255 [00] ==> (null) (null) ofonod[3008]: plugins/udev.c:udev_event() subsystem tty add ofonod[3008]: plugins/udev.c:udev_event() subsystem tty finished ofonod[3008]: plugins/udevng.c:check_modem_list() ofonod[3008]: plugins/udevng.c:create_modem() /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.4 ofonod[3008]: plugins/udevng.c:create_modem() driver=zte ofonod[3008]: src/modem.c:ofono_modem_create() name: (null), type: zte ofonod[3008]: plugins/udevng.c:setup_zte() /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3.4 ofonod[3008]: plugins/udevng.c:setup_zte() /dev/ttyUSB0 255/255/255 00 (null) ofonod[3008]: plugins/udevng.c:setup_zte() /dev/ttyUSB1 255/255/255 01 (null) ofonod[3008]: plugins/udevng.c:setup_zte() /dev/ttyUSB2 255/255/255 02 (null) ofonod[3008]: plugins/udevng.c:setup_zte() /dev/ttyUSB3 255/255/255 03 (null) ofonod[3008]: plugins/udevng.c:setup_zte() aux=/dev/ttyUSB1 modem=/dev/ttyUSB3 qcdm=/dev/ttyUSB0 ofonod[3008]: src/modem.c:set_modem_property() modem 0xa09a600 property Aux ofonod[3008]: src/modem.c:set_modem_property() modem 0xa09a600 property Modem ofonod[3008]: src/modem.c:ofono_modem_register() 0xa09a600 ofonod[3008]: plugins/zte.c:zte_probe() 0xa09a600 ofonod[3008]: src/modem.c:emit_modem_added() 0xa09a600 ofonod[3008]: src/modem.c:call_modemwatches() 0xa09a600 added:1 ofonod[3008]: plugins/hfp_ag.c:modem_watch() modem: 0xa09a600, added: 1 ofonod[3008]: plugins/dun_gw.c:modem_watch() modem: 0xa09a600, added: 1 ofonod[3008]: examples/emulator.c:modem_watch() modem: 0xa09a600, added: 1 ofonod[3008]: plugins/smart-messaging.c:modem_watch() modem: 0xa09a600, added: 1 ofonod[3008]: plugins/push-notification.c:modem_watch() modem: 0xa09a600, added: 1 ofonod[3008]: plugins/zte.c:zte_enable() 0xa09a600 ofonod[3008]: src/modem.c:get_modem_property() modem 0xa09a600 property Modem ofonod[3008]: plugins/zte.c:open_device() Modem /dev/ttyUSB3 ofonod[3008]: src/modem.c:get_modem_property() modem 0xa09a600 property Aux ofonod[3008]: plugins/zte.c:open_device() Aux /dev/ttyUSB1 ofonod[3008]: Modem: > ATZ E0 +CMEE=1\r ofonod[3008]: Aux: > ATE0 +CMEE=1\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+CFUN=1\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: plugins/zte.c:cfun_enable() ofonod[3008]: Aux: > AT+CPIN?\r ofonod[3008]: Aux: < \r\n+CME ERROR: 14\r\n ofonod[3008]: Aux: > AT+CPIN?\r ofonod[3008]: Aux: < \r\nERROR\r\n ofonod[3008]: Aux: > AT+CPIN?\r ofonod[3008]: Aux: < \r\n+CME ERROR: 14\r\n ofonod[3008]: Aux: > AT+CPIN?\r ofonod[3008]: Aux: < \r\n+CME ERROR: 14\r\n ofonod[3008]: Aux: > AT+CPIN?\r ofonod[3008]: Aux: < \r\n+CME ERROR: 14\r\n ofonod[3008]: Aux: < \r\n+CME ERROR: 14\r\n ofonod[3008]: Aux: > AT+CPIN?\r ofonod[3008]: Aux: < \r\n+CPIN: READY\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+ZOPRT=6\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: plugins/zte.c:zoprt_enable() ofonod[3008]: examples/emulator.c:powered_watch() Adding modem 0xa09a600 to the list ofonod[3008]: examples/emulator.c:create_tcp() Created server_watch: 46 ofonod[3008]: examples/emulator.c:create_tcp() Created server_watch: 47 ofonod[3008]: src/modem.c:modem_change_state() old state: 0, new state: 1 ofonod[3008]: plugins/zte.c:zte_pre_sim() 0xa09a600 ofonod[3008]: Aux: > AT&C0\r ofonod[3008]: src/sim.c:ofono_sim_add_state_watch() 0xa095f80 ofonod[3008]: src/sim.c:ofono_sim_add_state_watch() 0xa095f80 ofonod[3008]: src/sim.c:ofono_sim_add_state_watch() 0xa095f80 ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+ZPCB?\r ofonod[3008]: Aux: < \r\nMF668-1.0.0\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+GCAP\r ofonod[3008]: Aux: < \r\n+GCAP: +CGSM,+DS,+ES\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=192,12258,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"62198202412183022FE2A5038001718A01058B032F06048002000A"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 27 ofonod[3008]: Aux: > AT+CGMI\r ofonod[3008]: Aux: < \r\nZTE INCORPORATED\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=176,12258,0,0,10\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"983302710110093773F3"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 10 ofonod[3008]: src/simfs.c:sim_fs_op_read_block_cb() bufoff: 0, dataoff: 0, tocopy: 10 ofonod[3008]: Aux: > AT+CGMM\r ofonod[3008]: Aux: < \r\nMF668\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=192,28421,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"621C8202412183026F05A5038001718A01058B036F060380020006880110"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 30 ofonod[3008]: Aux: > AT+CGMR\r ofonod[3008]: Aux: < \r\nBD_ROGERMF668V1.0.1B01\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=176,28421,0,0,6\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"6672FFFFFFFF"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 6 ofonod[3008]: src/simfs.c:sim_fs_op_read_block_cb() bufoff: 0, dataoff: 0, tocopy: 6 ofonod[3008]: Aux: > AT+CGSN\r ofonod[3008]: Aux: < \r\n355987030080559\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=192,12037,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"62198202412183022F05A5038001718A01058B032F060580020006"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 27 ofonod[3008]: Aux: > AT+CRSM=176,12037,0,0,6\r ofonod[3008]: Aux: < \r\n+CPMS: "SM",0,40,"SM",0,40,"ME",0,100\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CPIN?\r ofonod[3008]: Aux: < \r\n+CPIN: READY\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_cpin_cb() crsm_pin_cb: READY ofonod[3008]: drivers/atmodem/sim.c:at_pin_retries_query() ofonod[3008]: Aux: > AT+ZPINPUK=?\r ofonod[3008]: Aux: < \r\n+ZPINPUK: 3,10\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:zpinpuk_cb() retry counter id=1, val=3 ofonod[3008]: drivers/atmodem/sim.c:zpinpuk_cb() retry counter id=9, val=10 ofonod[3008]: Aux: > AT+CRSM=192,28590,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 106,130,""\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=192,28589,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"621C8202412183026FADA5038001718A01058B036F060780020004880118"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 30 ofonod[3008]: Aux: > AT+CRSM=176,28589,0,0,4\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"00FFFF02"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 4 ofonod[3008]: src/simfs.c:sim_fs_op_read_block_cb() bufoff: 0, dataoff: 0, tocopy: 4 ofonod[3008]: Aux: > AT+CRSM=192,28438,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 106,130,""\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=192,28472,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"621C8202412183026F38A5038001718A01058B036F060480020009880120"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 30 ofonod[3008]: Aux: > AT+CRSM=176,28472,0,0,9\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"820B048C37C2010000"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 9 ofonod[3008]: src/simfs.c:sim_fs_op_read_block_cb() bufoff: 0, dataoff: 0, tocopy: 9 ofonod[3008]: Aux: > AT+CRSM=192,28502,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"621C8202412183026F56A5038001718A01058B036F060680020001880128"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 30 ofonod[3008]: Aux: > AT+CRSM=176,28502,0,0,1\r ofonod[3008]: Aux: < \r\n+CRSM: 144,0,"00"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 1 ofonod[3008]: src/simfs.c:sim_fs_op_read_block_cb() bufoff: 0, dataoff: 0, tocopy: 1 ofonod[3008]: Aux: > AT+CIMI\r ofonod[3008]: Aux: < \r\n208201701907337\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sim.c:at_cimi_cb() cimi_cb: 208201701907337 ofonod[3008]: src/modem.c:modem_change_state() old state: 1, new state: 2 ofonod[3008]: plugins/zte.c:zte_post_sim() 0xa09a600 ofonod[3008]: drivers/atmodem/gprs-context.c:at_gprs_context_probe() ofonod[3008]: Example History Probe for modem: 0xa09a600 ofonod[3008]: Example Network Time Probe for modem: 0xa09a600 ofonod[3008]: Aux: > AT+CSCS=?\r ofonod[3008]: plugins/zte.c:zte_set_online() modem 0xa09a600 online ofonod[3008]: Aux: < \r\n+CSCS: ("IRA","GSM","UCS2")\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CSMS=?\r ofonod[3008]: Aux: < \r\n+CSMS: (0-1)\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sms.c:at_csms_query_cb() CSMS query parsed successfully ofonod[3008]: Aux: > AT+CGDCONT=?\r ofonod[3008]: Aux: < \r\n+CGDCONT: (1-16),"IP",,,(0-2),(0-3)\r\n+CGDCONT: (1-16),"PPP",,,(0-2),(0-3)\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=192,28480,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 106,130,""\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+ZOPRT=5\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: src/modem.c:modem_change_state() old state: 2, new state: 3 ofonod[3008]: plugins/zte.c:zte_post_online() 0xa09a600 ofonod[3008]: Aux: > AT+CPBS=?\r ofonod[3008]: Aux: < \r\n+CME ERROR: 14\r\n ofonod[3008]: Aux: > AT+CSMS=1\r ofonod[3008]: Aux: < \r\n+CSMS: 1,1,1\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CGREG=?\r ofonod[3008]: Aux: < \r\n+CGREG: (0-2)\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=192,28489,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 106,130,""\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CREG=?\r ofonod[3008]: Aux: < \r\n+CREG: (0-2)\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CSCB=?\r ofonod[3008]: Aux: < \r\n+CSCB: (0-1)\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CSCS?\r ofonod[3008]: Aux: < \r\n+CSCS: "IRA"\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CUSD=1\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+CSMS?\r ofonod[3008]: Aux: < \r\n+CSMS: 1,1,1,1\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CGREG=2\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+CGAUTO=0\r ofonod[3008]: Aux: < \r\nERROR\r\n ofonod[3008]: Aux: > AT+CGEREP=2,1\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+CREG=2\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: src/network.c:__ofono_netreg_add_status_watch() 0xa09b060 ofonod[3008]: Aux: > AT+CSCB=1,"0-65535"\r ofonod[3008]: src/simfs.c:sim_fs_op_read_block() bufoff: 0, seekoff: 39, toread: 17 ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: src/cbs.c:cbs_got_imsi() Got IMSI: 208201701907337 ofonod[3008]: src/network.c:__ofono_netreg_add_status_watch() 0xa09b060 ofonod[3008]: Aux: > AT+CMGF=?\r ofonod[3008]: Aux: < \r\n+CMGF: (0-1)\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CPSB=1\r ofonod[3008]: Aux: < \r\nERROR\r\n ofonod[3008]: Aux: > AT+CTZR=1\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+ZPAS?\r ofonod[3008]: Aux: < \r\n+ZPAS: "No Service"\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CREG?\r ofonod[3008]: Aux: < \r\n+CREG: 2,2\r\n\r\nOK\r\n ofonod[3008]: src/network.c:current_operator_callback() 0xa09b060, (nil) ofonod[3008]: src/cbs.c:cbs_location_changed() 2, -1, -1, -1, (null)(null) ofonod[3008]: src/gprs.c:netreg_status_changed() 2 ofonod[3008]: Aux: > AT+CRSM=192,28621,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 106,130,""\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CPMS=?\r ofonod[3008]: Aux: < \r\n+CPMS: ("ME","MT","SM","SR"),("ME","MT","SM","SR"),("ME","MT","SM","SR")\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=192,28488,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 106,130,""\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/cbs.c:at_cbs_set_topics() ofonod[3008]: Aux: > AT+CMGF=0\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+CSCB=1\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+CSCB=0,"4352-4356"\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+CRSM=192,28437,0,0,255\r ofonod[3008]: Aux: < \r\n+CRSM: 106,130,""\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CPMS="ME","ME","ME"\r ofonod[3008]: Aux: < \r\n+CPMS: 0,100,0,100,0,100\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CNMI=?\r ofonod[3008]: Aux: < \r\n+CNMI: (0,1,2,3),(0,1,2,3),(0,2),(0,1,2),(0,1)\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/sms.c:build_cnmi_string() ofonod[3008]: drivers/atmodem/sms.c:construct_ack_pdu() ofonod[3008]: Aux: > AT+CNMI=1,2,2,1,0\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: src/network.c:__ofono_netreg_add_status_watch() 0xa09b060 ofonod[3008]: src/sms.c:sms_restore_tx_queue() ofonod[3008]: plugins/push-notification.c:sms_watch() registered ofonod[3008]: plugins/smart-messaging.c:sms_watch() registered ofonod[3008]: Aux: > AT+CMGL=4\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: drivers/atmodem/sms.c:at_cmgl_done() ofonod[3008]: Aux: > AT+CGSMS=3\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: < \r\n+CREG: 2\r\n\r\n+CGREG: 2\r\n\r\n+CREG: 1, 4E99, C6C4A\r\n\r\n+CGREG: 0\r\n ofonod[3008]: src/network.c:current_operator_callback() 0xa09b060, (nil) ofonod[3008]: src/cbs.c:cbs_location_changed() 2, -1, -1, -1, (null)(null) ofonod[3008]: src/gprs.c:netreg_status_changed() 2 ofonod[3008]: src/gprs.c:ofono_gprs_status_notify() /zte0 status 2 ofonod[3008]: src/gprs.c:ofono_gprs_status_notify() /zte0 status 0 ofonod[3008]: Aux: > AT+ZPAS?\r ofonod[3008]: Aux: < \r\n+ZPAS: "HSPA","CS_ONLY"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/network-registration.c:zte_parse_tech() network HSPA domain CS_ONLY tech -1 ofonod[3008]: src/cbs.c:cbs_location_changed() 1, 20121, 814154, -1, (null)(null) ofonod[3008]: src/gprs.c:netreg_status_changed() 1 ofonod[3008]: Aux: > AT+COPS=3,2\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+COPS?\r ofonod[3008]: Aux: < \r\n+COPS: 0,2,"20820",2\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/network-registration.c:cops_numeric_cb() Cops numeric got mcc: 208, mnc: 20 ofonod[3008]: Aux: > AT+CSQ\r ofonod[3008]: Aux: < \r\n+CSQ: 11,99\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/network-registration.c:csq_cb() csq_cb: 11 ofonod[3008]: Aux: > AT+CGATT=1\r ofonod[3008]: Aux: < \r\n+CREG: 2\r\n\r\n+CGREG: 2\r\n\r\n+CREG: 1, 4E99, C6C4A\r\n\r\n+CGREG: 0\r\n\r\nOK\r\n ofonod[3008]: src/network.c:current_operator_callback() 0xa09b060, (nil) ofonod[3008]: src/cbs.c:cbs_location_changed() 2, -1, -1, -1, (null)(null) ofonod[3008]: src/gprs.c:netreg_status_changed() 2 ofonod[3008]: src/gprs.c:ofono_gprs_status_notify() /zte0 status 2 ofonod[3008]: src/gprs.c:ofono_gprs_status_notify() /zte0 status 0 ofonod[3008]: src/gprs.c:gprs_attach_callback() /zte0 error = 0 ofonod[3008]: Aux: > AT+COPS=3,0\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+COPS?\r ofonod[3008]: Aux: < \r\n+COPS: 0,0,"Bouygues Telecom",2\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/network-registration.c:cops_cb() cops_cb: Bouygues Telecom, 208 20 2 ofonod[3008]: src/network.c:current_operator_callback() 0xa09b060, (nil) ofonod[3008]: Aux: > AT+ZPAS?\r ofonod[3008]: Aux: < \r\n+ZPAS: "HSPA","CS_ONLY"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/network-registration.c:zte_parse_tech() network HSPA domain CS_ONLY tech -1 ofonod[3008]: src/cbs.c:cbs_location_changed() 1, 20121, 814154, -1, (null)(null) ofonod[3008]: src/gprs.c:netreg_status_changed() 1 ofonod[3008]: Aux: > AT+CGREG?\r ofonod[3008]: Aux: < \r\n+CGREG: 2,0\r\n\r\nOK\r\n ofonod[3008]: src/gprs.c:registration_status_cb() /zte0 error 0 status 0 ofonod[3008]: src/gprs.c:ofono_gprs_status_notify() /zte0 status 0 ofonod[3008]: Aux: > AT+COPS=3,2\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+COPS?\r ofonod[3008]: Aux: < \r\n+COPS: 0,2,"20820",2\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/network-registration.c:cops_numeric_cb() Cops numeric got mcc: 208, mnc: 20 ofonod[3008]: Aux: > AT+CSQ\r ofonod[3008]: Aux: < \r\n+CSQ: 11,99\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/network-registration.c:csq_cb() csq_cb: 11 ofonod[3008]: Aux: > AT+COPS=3,0\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+COPS?\r ofonod[3008]: Aux: < \r\n+COPS: 0,0,"Bouygues Telecom",2\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/network-registration.c:cops_cb() cops_cb: Bouygues Telecom, 208 20 2 ofonod[3008]: src/network.c:current_operator_callback() 0xa09b060, (nil) ofonod[3008]: src/cbs.c:cbs_location_changed() 1, 20121, 814154, -1, 20820 ofonod[3008]: src/cbs.c:cbs_location_changed() 1, 0, 0 ofonod[3008]: src/gprs.c:netreg_status_changed() 1 ofonod[3008]: Aux: < \r\n+CPMS: "ME",0,100,"ME",0,100,"ME",0,100\r\n\r\nOK\r\n ofonod[3008]: Aux: > AT+CPBS=?\r ofonod[3008]: Aux: < \r\n+CPBS: ("SM","DC","FD","LD","MC","ME","RC","EN")\r\n\r\nOK\r\n ofonod[3008]: Aux: < \r\n+GCAP: +CGSM,+DS,+ES\r\n\r\nOK\r\n ofonod[3008]: Aux: < \r\n+GCAP: +CGSM,+DS,+ES\r\n\r\nOK\r\n ofonod[3008]: Aux: < \r\n+GCAP: +CGSM,+DS,+ES\r\n\r\nOK\r\n ofonod[3008]: Aux: < \r\n+CREG: 1, 4E99, C12B6\r\n\r\n+CGREG: 1, 4E99, C12B6\r\n ofonod[3008]: src/gprs.c:ofono_gprs_status_notify() /zte0 status 1 ofonod[3008]: Aux: > AT+ZPAS?\r ofonod[3008]: Aux: < \r\n+ZPAS: "HSPA","CS_PS"\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/network-registration.c:zte_parse_tech() network HSPA domain CS_PS tech -1 ofonod[3008]: src/cbs.c:cbs_location_changed() 1, 20121, 791222, -1, 20820 ofonod[3008]: src/cbs.c:cbs_location_changed() 0, 1, 0 ofonod[3008]: src/gprs.c:netreg_status_changed() 1 ofonod[3008]: Aux: > AT+COPS=3,2\r ofonod[3008]: Aux: < \r\nOK\r\n ofonod[3008]: Aux: > AT+COPS?\r ofonod[3008]: Aux: < \r\n+COPS: 0,2,"20820",2\r\n\r\nOK\r\n ofonod[3008]: drivers/atmodem/network-registration.c:cops_numeric_cb() Cops numeric got mcc: 208, mnc: 20 ofonod[3008]: Aux: > AT+CSQ\r ofonod[3008]: Aux: < \r\n+CREG: 1, 4E99, C6C4A\r\n\r\n+CGREG: 1, 4E99, C6C4A\r\n ofonod[3008]: src/gprs.c:ofono_gprs_status_notify() /zte0 status 1 ofonod[3008]: drivers/atmodem/gprs-context.c:at_gprs_activate_primary() cid 1 ofonod[3008]: Aux: < \r\n+CREG: 2\r\n\r\n+CGREG: 2\r\n ofonod[3008]: src/network.c:current_operator_callback() 0xa09b060, 0xa09e7a0 ofonod[3008]: src/cbs.c:cbs_location_changed() 2, -1, -1, -1, (null)(null) ofonod[3008]: src/cbs.c:cbs_location_changed() 1, 0, 0 ofonod[3008]: src/gprs.c:netreg_status_changed() 2 ofonod[3008]: src/cbs.c:cbs_location_changed() 2, -1, -1, -1, (null)(null) ofonod[3008]: src/gprs.c:netreg_status_changed() 2 ofonod[3008]: src/gprs.c:ofono_gprs_status_notify() /zte0 status 2 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 2/5] udev: Add rules to support ZTE MF190 dongle 2011-11-29 12:21 [PATCH 0/5] udev rules update Philippe Nunes 2011-11-29 12:20 ` Marcel Holtmann 2011-11-29 12:21 ` [PATCH 1/5] udev: Add rules to support ZTE MF668 dongle Philippe Nunes @ 2011-11-29 12:21 ` Philippe Nunes 2011-12-19 5:50 ` Marcel Holtmann 2011-11-29 12:21 ` [PATCH 3/5] udevng.c: tty assignment according OFONO_LABEL should take precedence Philippe Nunes ` (2 subsequent siblings) 5 siblings, 1 reply; 16+ messages in thread From: Philippe Nunes @ 2011-11-29 12:21 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 820 bytes --] --- plugins/ofono.rules | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/plugins/ofono.rules b/plugins/ofono.rules index c7fac57..079db07 100644 --- a/plugins/ofono.rules +++ b/plugins/ofono.rules @@ -22,6 +22,9 @@ KERNEL!="ttyUSB[0-9]*", GOTO="ofono_tty_end" ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="02", ENV{OFONO_LABEL}="modem" ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="04", ENV{OFONO_LABEL}="modem" +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" + LABEL="ofono_tty_end" SUBSYSTEM!="usb", GOTO="ofono_end" -- 1.7.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 2/5] udev: Add rules to support ZTE MF190 dongle 2011-11-29 12:21 ` [PATCH 2/5] udev: Add rules to support ZTE MF190 dongle Philippe Nunes @ 2011-12-19 5:50 ` Marcel Holtmann 2011-12-19 17:45 ` Philippe Nunes 0 siblings, 1 reply; 16+ messages in thread From: Marcel Holtmann @ 2011-12-19 5:50 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 1001 bytes --] Hi Philippe, > plugins/ofono.rules | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/plugins/ofono.rules b/plugins/ofono.rules > index c7fac57..079db07 100644 > --- a/plugins/ofono.rules > +++ b/plugins/ofono.rules > @@ -22,6 +22,9 @@ KERNEL!="ttyUSB[0-9]*", GOTO="ofono_tty_end" > ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="02", ENV{OFONO_LABEL}="modem" > ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" > > +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="04", ENV{OFONO_LABEL}="modem" > +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" > + > LABEL="ofono_tty_end" > > SUBSYSTEM!="usb", GOTO="ofono_end" same here. The modem AUX port is always the second TTY and the modem TTY is always the last one. Where is this not true? Regards Marcel ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/5] udev: Add rules to support ZTE MF190 dongle 2011-12-19 5:50 ` Marcel Holtmann @ 2011-12-19 17:45 ` Philippe Nunes 0 siblings, 0 replies; 16+ messages in thread From: Philippe Nunes @ 2011-12-19 17:45 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 2984 bytes --] On 12/19/2011 06:50 AM, Marcel Holtmann wrote: > Hi Philippe, > >> plugins/ofono.rules | 3 +++ >> 1 files changed, 3 insertions(+), 0 deletions(-) >> >> diff --git a/plugins/ofono.rules b/plugins/ofono.rules >> index c7fac57..079db07 100644 >> --- a/plugins/ofono.rules >> +++ b/plugins/ofono.rules >> @@ -22,6 +22,9 @@ KERNEL!="ttyUSB[0-9]*", GOTO="ofono_tty_end" >> ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="02", ENV{OFONO_LABEL}="modem" >> ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" >> >> +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="04", ENV{OFONO_LABEL}="modem" >> +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" >> + >> LABEL="ofono_tty_end" >> >> SUBSYSTEM!="usb", GOTO="ofono_end" > > same here. The modem AUX port is always the second TTY and the modem TTY > is always the last one. Where is this not true? Actually, with this dongle ZTE MF190, we have 6 TTY (usb0 -> usb5) and usb-devices gives: T: Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 32 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=19d2 ProdID=0124 Rev=00.00 S: Manufacturer=ZTE,Incorporated S: Product=ZTE WCDMA Technologies MSM S: SerialNumber=P671A2TMED010000 C: #Ifs= 7 Cfg#= 1 Atr=e0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage Now, ttyUSB5 is not responsive. So, for this particular dongle, the modem won't be on the latest interface. In practice, we shall use the interface ttyUSB4 for PPP. Windows Device Manager gives the following results: Vendor Id: 19d2 / Product Id: 0124 (same as after usb_modeswitch) ZTE Diagnostic port - 00 ZTE AT port - 01 ZTE ATExt2 port - 02 ZTE USB SmartCard Reader - 03 ZTE Proprietary USB Modem - 04 ZTE Mobile broadband Network manager - 05 So, it confirms that the modem port com is on ttyUSB4. To not break the support of ZTE modems with 5 interfaces (which are using the 4th one for PPP, like K3570), I can't extend the current logic in udevng to take into account the ttyUSB4. So, I added a specific rule for ZTE MF190. Regards, Philippe. > > Regards > > Marcel > > > _______________________________________________ > ofono mailing list > ofono(a)ofono.org > http://lists.ofono.org/listinfo/ofono > ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 3/5] udevng.c: tty assignment according OFONO_LABEL should take precedence 2011-11-29 12:21 [PATCH 0/5] udev rules update Philippe Nunes ` (2 preceding siblings ...) 2011-11-29 12:21 ` [PATCH 2/5] udev: Add rules to support ZTE MF190 dongle Philippe Nunes @ 2011-11-29 12:21 ` Philippe Nunes 2011-12-19 5:48 ` Marcel Holtmann 2011-11-29 12:21 ` [PATCH 4/5] udev: Add rules to support Speedup 7300 dongle Philippe Nunes 2011-11-29 12:21 ` [PATCH 5/5] udev: Add rules to support SpeedUp 9800 dongle Philippe Nunes 5 siblings, 1 reply; 16+ messages in thread From: Philippe Nunes @ 2011-11-29 12:21 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 4855 bytes --] --- plugins/udevng.c | 61 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 38 insertions(+), 23 deletions(-) diff --git a/plugins/udevng.c b/plugins/udevng.c index be87320..6a3c970 100644 --- a/plugins/udevng.c +++ b/plugins/udevng.c @@ -235,6 +235,7 @@ static gboolean setup_sierra(struct modem_info *modem) static gboolean setup_huawei(struct modem_info *modem) { const char *mdm = NULL, *pcui = NULL, *diag = NULL; + const char *default_pcui = NULL; GSList *list; DBG("%s", modem->syspath); @@ -264,19 +265,24 @@ static gboolean setup_huawei(struct modem_info *modem) if (mdm != NULL && pcui != NULL) break; } else if (g_strcmp0(info->interface, "255/255/255") == 0) { - if (g_strcmp0(info->number, "00") == 0) + if (mdm == NULL && g_strcmp0(info->number, "00") == 0) mdm = info->devnode; - else if (g_strcmp0(info->number, "01") == 0) - pcui = info->devnode; - else if (g_strcmp0(info->number, "02") == 0) - pcui = info->devnode; - else if (g_strcmp0(info->number, "03") == 0) - pcui = info->devnode; - else if (g_strcmp0(info->number, "04") == 0) - pcui = info->devnode; + else if (pcui == NULL) { + if (g_strcmp0(info->number, "01") == 0) + default_pcui = info->devnode; + else if (g_strcmp0(info->number, "02") == 0) + default_pcui = info->devnode; + else if (g_strcmp0(info->number, "03") == 0) + default_pcui = info->devnode; + else if (g_strcmp0(info->number, "04") == 0) + default_pcui = info->devnode; + } } } + if (pcui == NULL && default_pcui != NULL) + pcui = default_pcui; + if (mdm == NULL || pcui == NULL) return FALSE; @@ -291,7 +297,7 @@ static gboolean setup_huawei(struct modem_info *modem) static gboolean setup_speedup(struct modem_info *modem) { - const char *aux = NULL, *mdm = NULL; + const char *aux = NULL, *mdm = NULL, *default_mdm = NULL; GSList *list; DBG("%s", modem->syspath); @@ -311,15 +317,20 @@ static gboolean setup_speedup(struct modem_info *modem) if (aux != NULL) break; } else if (g_strcmp0(info->interface, "255/255/255") == 0) { - if (g_strcmp0(info->number, "01") == 0) + if (aux == NULL && g_strcmp0(info->number, "01") == 0) aux = info->devnode; - else if (g_strcmp0(info->number, "02") == 0) - mdm = info->devnode; - else if (g_strcmp0(info->number, "03") == 0) - mdm = info->devnode; + else if (mdm == NULL) { + if (g_strcmp0(info->number, "02") == 0) + default_mdm = info->devnode; + else if (g_strcmp0(info->number, "03") == 0) + default_mdm = info->devnode; + } } } + if (mdm == NULL && default_mdm != NULL) + mdm = default_mdm; + if (aux == NULL || mdm == NULL) return FALSE; @@ -385,9 +396,10 @@ static gboolean setup_alcatel(struct modem_info *modem) if (aux != NULL) break; } else if (g_strcmp0(info->interface, "255/255/255") == 0) { - if (g_strcmp0(info->number, "03") == 0) + if (aux == NULL && g_strcmp0(info->number, "03") == 0) aux = info->devnode; - else if (g_strcmp0(info->number, "05") == 0) + else if (mdm == NULL && + g_strcmp0(info->number, "05") == 0) mdm = info->devnode; } } @@ -425,9 +437,10 @@ static gboolean setup_novatel(struct modem_info *modem) if (aux != NULL) break; } else if (g_strcmp0(info->interface, "255/255/255") == 0) { - if (g_strcmp0(info->number, "00") == 0) + if (aux == NULL && g_strcmp0(info->number, "00") == 0) aux = info->devnode; - else if (g_strcmp0(info->number, "01") == 0) + else if (mdm == NULL && + g_strcmp0(info->number, "01") == 0) mdm = info->devnode; } } @@ -465,9 +478,10 @@ static gboolean setup_nokia(struct modem_info *modem) if (aux != NULL) break; } else if (g_strcmp0(info->interface, "10/0/0") == 0) { - if (g_strcmp0(info->number, "02") == 0) + if (mdm == NULL && g_strcmp0(info->number, "02") == 0) mdm = info->devnode; - else if (g_strcmp0(info->number, "04") == 0) + else if (aux == NULL && + g_strcmp0(info->number, "04") == 0) aux = info->devnode; } } @@ -505,13 +519,14 @@ static gboolean setup_telit(struct modem_info *modem) if (aux != NULL) break; } else if (g_strcmp0(info->interface, "255/255/255") == 0) { - if (g_strcmp0(info->number, "00") == 0) + if (mdm == NULL && g_strcmp0(info->number, "00") == 0) mdm = info->devnode; else if (g_strcmp0(info->number, "01") == 0) diag = info->devnode; else if (g_strcmp0(info->number, "02") == 0) gps = info->devnode; - else if (g_strcmp0(info->number, "03") == 0) + else if (aux == NULL + && g_strcmp0(info->number, "03") == 0) aux = info->devnode; } } -- 1.7.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 3/5] udevng.c: tty assignment according OFONO_LABEL should take precedence 2011-11-29 12:21 ` [PATCH 3/5] udevng.c: tty assignment according OFONO_LABEL should take precedence Philippe Nunes @ 2011-12-19 5:48 ` Marcel Holtmann 2011-12-19 16:32 ` Philippe Nunes 0 siblings, 1 reply; 16+ messages in thread From: Marcel Holtmann @ 2011-12-19 5:48 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 5363 bytes --] Hi Philippe, > plugins/udevng.c | 61 +++++++++++++++++++++++++++++++++-------------------- > 1 files changed, 38 insertions(+), 23 deletions(-) > > diff --git a/plugins/udevng.c b/plugins/udevng.c > index be87320..6a3c970 100644 > --- a/plugins/udevng.c > +++ b/plugins/udevng.c > @@ -235,6 +235,7 @@ static gboolean setup_sierra(struct modem_info *modem) > static gboolean setup_huawei(struct modem_info *modem) > { > const char *mdm = NULL, *pcui = NULL, *diag = NULL; > + const char *default_pcui = NULL; > GSList *list; > > DBG("%s", modem->syspath); > @@ -264,19 +265,24 @@ static gboolean setup_huawei(struct modem_info *modem) > if (mdm != NULL && pcui != NULL) > break; > } else if (g_strcmp0(info->interface, "255/255/255") == 0) { > - if (g_strcmp0(info->number, "00") == 0) > + if (mdm == NULL && g_strcmp0(info->number, "00") == 0) > mdm = info->devnode; > - else if (g_strcmp0(info->number, "01") == 0) > - pcui = info->devnode; > - else if (g_strcmp0(info->number, "02") == 0) > - pcui = info->devnode; > - else if (g_strcmp0(info->number, "03") == 0) > - pcui = info->devnode; > - else if (g_strcmp0(info->number, "04") == 0) > - pcui = info->devnode; > + else if (pcui == NULL) { > + if (g_strcmp0(info->number, "01") == 0) > + default_pcui = info->devnode; > + else if (g_strcmp0(info->number, "02") == 0) > + default_pcui = info->devnode; > + else if (g_strcmp0(info->number, "03") == 0) > + default_pcui = info->devnode; > + else if (g_strcmp0(info->number, "04") == 0) > + default_pcui = info->devnode; > + } > } > } > > + if (pcui == NULL && default_pcui != NULL) > + pcui = default_pcui; > + what is this default_pcui doing here. I am failing to understand its usage. > if (mdm == NULL || pcui == NULL) > return FALSE; > > @@ -291,7 +297,7 @@ static gboolean setup_huawei(struct modem_info *modem) > > static gboolean setup_speedup(struct modem_info *modem) > { > - const char *aux = NULL, *mdm = NULL; > + const char *aux = NULL, *mdm = NULL, *default_mdm = NULL; > GSList *list; > > DBG("%s", modem->syspath); > @@ -311,15 +317,20 @@ static gboolean setup_speedup(struct modem_info *modem) > if (aux != NULL) > break; > } else if (g_strcmp0(info->interface, "255/255/255") == 0) { > - if (g_strcmp0(info->number, "01") == 0) > + if (aux == NULL && g_strcmp0(info->number, "01") == 0) > aux = info->devnode; > - else if (g_strcmp0(info->number, "02") == 0) > - mdm = info->devnode; > - else if (g_strcmp0(info->number, "03") == 0) > - mdm = info->devnode; > + else if (mdm == NULL) { > + if (g_strcmp0(info->number, "02") == 0) > + default_mdm = info->devnode; > + else if (g_strcmp0(info->number, "03") == 0) > + default_mdm = info->devnode; > + } > } > } > > + if (mdm == NULL && default_mdm != NULL) > + mdm = default_mdm; > + Same here. This makes the code pretty much unreadable. > if (aux == NULL || mdm == NULL) > return FALSE; > > @@ -385,9 +396,10 @@ static gboolean setup_alcatel(struct modem_info *modem) > if (aux != NULL) > break; > } else if (g_strcmp0(info->interface, "255/255/255") == 0) { > - if (g_strcmp0(info->number, "03") == 0) > + if (aux == NULL && g_strcmp0(info->number, "03") == 0) > aux = info->devnode; > - else if (g_strcmp0(info->number, "05") == 0) > + else if (mdm == NULL && > + g_strcmp0(info->number, "05") == 0) > mdm = info->devnode; > } > } > @@ -425,9 +437,10 @@ static gboolean setup_novatel(struct modem_info *modem) > if (aux != NULL) > break; > } else if (g_strcmp0(info->interface, "255/255/255") == 0) { > - if (g_strcmp0(info->number, "00") == 0) > + if (aux == NULL && g_strcmp0(info->number, "00") == 0) > aux = info->devnode; > - else if (g_strcmp0(info->number, "01") == 0) > + else if (mdm == NULL && > + g_strcmp0(info->number, "01") == 0) > mdm = info->devnode; > } > } > @@ -465,9 +478,10 @@ static gboolean setup_nokia(struct modem_info *modem) > if (aux != NULL) > break; > } else if (g_strcmp0(info->interface, "10/0/0") == 0) { > - if (g_strcmp0(info->number, "02") == 0) > + if (mdm == NULL && g_strcmp0(info->number, "02") == 0) > mdm = info->devnode; > - else if (g_strcmp0(info->number, "04") == 0) > + else if (aux == NULL && > + g_strcmp0(info->number, "04") == 0) > aux = info->devnode; > } > } > @@ -505,13 +519,14 @@ static gboolean setup_telit(struct modem_info *modem) > if (aux != NULL) > break; > } else if (g_strcmp0(info->interface, "255/255/255") == 0) { > - if (g_strcmp0(info->number, "00") == 0) > + if (mdm == NULL && g_strcmp0(info->number, "00") == 0) > mdm = info->devnode; > else if (g_strcmp0(info->number, "01") == 0) > diag = info->devnode; > else if (g_strcmp0(info->number, "02") == 0) > gps = info->devnode; > - else if (g_strcmp0(info->number, "03") == 0) > + else if (aux == NULL > + && g_strcmp0(info->number, "03") == 0) > aux = info->devnode; > } > } This becomes unreadable. What are we trying to achieve here. Regards Marcel ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 3/5] udevng.c: tty assignment according OFONO_LABEL should take precedence 2011-12-19 5:48 ` Marcel Holtmann @ 2011-12-19 16:32 ` Philippe Nunes 0 siblings, 0 replies; 16+ messages in thread From: Philippe Nunes @ 2011-12-19 16:32 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 6891 bytes --] Hi Marcel, On 12/19/2011 06:48 AM, Marcel Holtmann wrote: > Hi Philippe, > >> plugins/udevng.c | 61 +++++++++++++++++++++++++++++++++-------------------- >> 1 files changed, 38 insertions(+), 23 deletions(-) >> >> diff --git a/plugins/udevng.c b/plugins/udevng.c >> index be87320..6a3c970 100644 >> --- a/plugins/udevng.c >> +++ b/plugins/udevng.c >> @@ -235,6 +235,7 @@ static gboolean setup_sierra(struct modem_info *modem) >> static gboolean setup_huawei(struct modem_info *modem) >> { >> const char *mdm = NULL, *pcui = NULL, *diag = NULL; >> + const char *default_pcui = NULL; >> GSList *list; >> >> DBG("%s", modem->syspath); >> @@ -264,19 +265,24 @@ static gboolean setup_huawei(struct modem_info *modem) >> if (mdm != NULL&& pcui != NULL) >> break; >> } else if (g_strcmp0(info->interface, "255/255/255") == 0) { >> - if (g_strcmp0(info->number, "00") == 0) >> + if (mdm == NULL&& g_strcmp0(info->number, "00") == 0) >> mdm = info->devnode; >> - else if (g_strcmp0(info->number, "01") == 0) >> - pcui = info->devnode; >> - else if (g_strcmp0(info->number, "02") == 0) >> - pcui = info->devnode; >> - else if (g_strcmp0(info->number, "03") == 0) >> - pcui = info->devnode; >> - else if (g_strcmp0(info->number, "04") == 0) >> - pcui = info->devnode; >> + else if (pcui == NULL) { >> + if (g_strcmp0(info->number, "01") == 0) >> + default_pcui = info->devnode; >> + else if (g_strcmp0(info->number, "02") == 0) >> + default_pcui = info->devnode; >> + else if (g_strcmp0(info->number, "03") == 0) >> + default_pcui = info->devnode; >> + else if (g_strcmp0(info->number, "04") == 0) >> + default_pcui = info->devnode; >> + } >> } >> } >> >> + if (pcui == NULL&& default_pcui != NULL) >> + pcui = default_pcui; >> + > > what is this default_pcui doing here. I am failing to understand its > usage. We need to prevent the assignment done through the label, to be overridden by the 'default' assignment (the one done by the implicit rule). That's why I introduced new conditions: if (mdm == NULL && g_strcmp0(info->number, "00") == 0) and else if (pcui == NULL) { In practice, if the pcui is already assigned through the label, the 'default' assignment' algorithm is not considered. On the contrary, the 'default' assignment is done using a dedicated variable 'default_pcui'. If we were still using the variable 'pcui', we couldn't update anymore this variable through the 'default' assignment due to the new condition 'if (pcui == NULL)'. > >> if (mdm == NULL || pcui == NULL) >> return FALSE; >> >> @@ -291,7 +297,7 @@ static gboolean setup_huawei(struct modem_info *modem) >> >> static gboolean setup_speedup(struct modem_info *modem) >> { >> - const char *aux = NULL, *mdm = NULL; >> + const char *aux = NULL, *mdm = NULL, *default_mdm = NULL; >> GSList *list; >> >> DBG("%s", modem->syspath); >> @@ -311,15 +317,20 @@ static gboolean setup_speedup(struct modem_info *modem) >> if (aux != NULL) >> break; >> } else if (g_strcmp0(info->interface, "255/255/255") == 0) { >> - if (g_strcmp0(info->number, "01") == 0) >> + if (aux == NULL&& g_strcmp0(info->number, "01") == 0) >> aux = info->devnode; >> - else if (g_strcmp0(info->number, "02") == 0) >> - mdm = info->devnode; >> - else if (g_strcmp0(info->number, "03") == 0) >> - mdm = info->devnode; >> + else if (mdm == NULL) { >> + if (g_strcmp0(info->number, "02") == 0) >> + default_mdm = info->devnode; >> + else if (g_strcmp0(info->number, "03") == 0) >> + default_mdm = info->devnode; >> + } >> } >> } >> >> + if (mdm == NULL&& default_mdm != NULL) >> + mdm = default_mdm; >> + > > Same here. This makes the code pretty much unreadable. This logic becomes however necessary as I introduced dedicated rules for Speedup and Huawei based on the label. Without this patch, the 'label' assignment doesn't work necessarily (in fact, it depends of the order of the interfaces). > >> if (aux == NULL || mdm == NULL) >> return FALSE; >> >> @@ -385,9 +396,10 @@ static gboolean setup_alcatel(struct modem_info *modem) >> if (aux != NULL) >> break; >> } else if (g_strcmp0(info->interface, "255/255/255") == 0) { >> - if (g_strcmp0(info->number, "03") == 0) >> + if (aux == NULL&& g_strcmp0(info->number, "03") == 0) >> aux = info->devnode; >> - else if (g_strcmp0(info->number, "05") == 0) >> + else if (mdm == NULL&& >> + g_strcmp0(info->number, "05") == 0) >> mdm = info->devnode; >> } >> } >> @@ -425,9 +437,10 @@ static gboolean setup_novatel(struct modem_info *modem) >> if (aux != NULL) >> break; >> } else if (g_strcmp0(info->interface, "255/255/255") == 0) { >> - if (g_strcmp0(info->number, "00") == 0) >> + if (aux == NULL&& g_strcmp0(info->number, "00") == 0) >> aux = info->devnode; >> - else if (g_strcmp0(info->number, "01") == 0) >> + else if (mdm == NULL&& >> + g_strcmp0(info->number, "01") == 0) >> mdm = info->devnode; >> } >> } >> @@ -465,9 +478,10 @@ static gboolean setup_nokia(struct modem_info *modem) >> if (aux != NULL) >> break; >> } else if (g_strcmp0(info->interface, "10/0/0") == 0) { >> - if (g_strcmp0(info->number, "02") == 0) >> + if (mdm == NULL&& g_strcmp0(info->number, "02") == 0) >> mdm = info->devnode; >> - else if (g_strcmp0(info->number, "04") == 0) >> + else if (aux == NULL&& >> + g_strcmp0(info->number, "04") == 0) >> aux = info->devnode; >> } >> } >> @@ -505,13 +519,14 @@ static gboolean setup_telit(struct modem_info *modem) >> if (aux != NULL) >> break; >> } else if (g_strcmp0(info->interface, "255/255/255") == 0) { >> - if (g_strcmp0(info->number, "00") == 0) >> + if (mdm == NULL&& g_strcmp0(info->number, "00") == 0) >> mdm = info->devnode; >> else if (g_strcmp0(info->number, "01") == 0) >> diag = info->devnode; >> else if (g_strcmp0(info->number, "02") == 0) >> gps = info->devnode; >> - else if (g_strcmp0(info->number, "03") == 0) >> + else if (aux == NULL >> + && g_strcmp0(info->number, "03") == 0) >> aux = info->devnode; >> } >> } > > This becomes unreadable. What are we trying to achieve here. For Alcatel, Novatel, Nokia, Telit, I don't have a bug stating that we could have an overriding issue. I just propagated the logic explained above for more safety. Regards, Philippe. > > Regards > > Marcel > > > _______________________________________________ > ofono mailing list > ofono(a)ofono.org > http://lists.ofono.org/listinfo/ofono > ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 4/5] udev: Add rules to support Speedup 7300 dongle 2011-11-29 12:21 [PATCH 0/5] udev rules update Philippe Nunes ` (3 preceding siblings ...) 2011-11-29 12:21 ` [PATCH 3/5] udevng.c: tty assignment according OFONO_LABEL should take precedence Philippe Nunes @ 2011-11-29 12:21 ` Philippe Nunes 2011-12-19 5:51 ` Marcel Holtmann 2011-11-29 12:21 ` [PATCH 5/5] udev: Add rules to support SpeedUp 9800 dongle Philippe Nunes 5 siblings, 1 reply; 16+ messages in thread From: Philippe Nunes @ 2011-11-29 12:21 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 875 bytes --] --- plugins/ofono.rules | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/plugins/ofono.rules b/plugins/ofono.rules index 079db07..7f284d4 100644 --- a/plugins/ofono.rules +++ b/plugins/ofono.rules @@ -25,6 +25,10 @@ ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="0 ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="04", ENV{OFONO_LABEL}="modem" ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" +# SpeedUp 7300 +ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9e00", ENV{ID_USB_INTERFACE_NUM}=="00", ENV{OFONO_LABEL}="modem" +ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9e00", ENV{ID_USB_INTERFACE_NUM}=="03", ENV{OFONO_LABEL}="aux" + LABEL="ofono_tty_end" SUBSYSTEM!="usb", GOTO="ofono_end" -- 1.7.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 4/5] udev: Add rules to support Speedup 7300 dongle 2011-11-29 12:21 ` [PATCH 4/5] udev: Add rules to support Speedup 7300 dongle Philippe Nunes @ 2011-12-19 5:51 ` Marcel Holtmann 0 siblings, 0 replies; 16+ messages in thread From: Marcel Holtmann @ 2011-12-19 5:51 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 1137 bytes --] Hi Philippe, > plugins/ofono.rules | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/plugins/ofono.rules b/plugins/ofono.rules > index 079db07..7f284d4 100644 > --- a/plugins/ofono.rules > +++ b/plugins/ofono.rules > @@ -25,6 +25,10 @@ ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0017", ENV{ID_USB_INTERFACE_NUM}=="0 > ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="04", ENV{OFONO_LABEL}="modem" > ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="aux" > > +# SpeedUp 7300 > +ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9e00", ENV{ID_USB_INTERFACE_NUM}=="00", ENV{OFONO_LABEL}="modem" > +ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9e00", ENV{ID_USB_INTERFACE_NUM}=="03", ENV{OFONO_LABEL}="aux" > + > LABEL="ofono_tty_end" > > SUBSYSTEM!="usb", GOTO="ofono_end" since the SpeedUp modem seem to be fully broken, we better just only do label assignment and create a plugins/ofono-speedup.rules. I do not wanna intermix this just because of total broken hardware. Regards Marcel ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 5/5] udev: Add rules to support SpeedUp 9800 dongle 2011-11-29 12:21 [PATCH 0/5] udev rules update Philippe Nunes ` (4 preceding siblings ...) 2011-11-29 12:21 ` [PATCH 4/5] udev: Add rules to support Speedup 7300 dongle Philippe Nunes @ 2011-11-29 12:21 ` Philippe Nunes 2011-12-19 5:52 ` Marcel Holtmann 5 siblings, 1 reply; 16+ messages in thread From: Philippe Nunes @ 2011-11-29 12:21 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 875 bytes --] --- plugins/ofono.rules | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/plugins/ofono.rules b/plugins/ofono.rules index 7f284d4..9e7a651 100644 --- a/plugins/ofono.rules +++ b/plugins/ofono.rules @@ -29,6 +29,10 @@ ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="0 ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9e00", ENV{ID_USB_INTERFACE_NUM}=="00", ENV{OFONO_LABEL}="modem" ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9e00", ENV{ID_USB_INTERFACE_NUM}=="03", ENV{OFONO_LABEL}="aux" +# SpeedUp 9800 +ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9800", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="modem" +ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9800", ENV{ID_USB_INTERFACE_NUM}=="02", ENV{OFONO_LABEL}="aux" + LABEL="ofono_tty_end" SUBSYSTEM!="usb", GOTO="ofono_end" -- 1.7.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 5/5] udev: Add rules to support SpeedUp 9800 dongle 2011-11-29 12:21 ` [PATCH 5/5] udev: Add rules to support SpeedUp 9800 dongle Philippe Nunes @ 2011-12-19 5:52 ` Marcel Holtmann 0 siblings, 0 replies; 16+ messages in thread From: Marcel Holtmann @ 2011-12-19 5:52 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 1110 bytes --] Hi Philippe, > plugins/ofono.rules | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/plugins/ofono.rules b/plugins/ofono.rules > index 7f284d4..9e7a651 100644 > --- a/plugins/ofono.rules > +++ b/plugins/ofono.rules > @@ -29,6 +29,10 @@ ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0124", ENV{ID_USB_INTERFACE_NUM}=="0 > ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9e00", ENV{ID_USB_INTERFACE_NUM}=="00", ENV{OFONO_LABEL}="modem" > ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9e00", ENV{ID_USB_INTERFACE_NUM}=="03", ENV{OFONO_LABEL}="aux" > > +# SpeedUp 9800 > +ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9800", ENV{ID_USB_INTERFACE_NUM}=="01", ENV{OFONO_LABEL}="modem" > +ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9800", ENV{ID_USB_INTERFACE_NUM}=="02", ENV{OFONO_LABEL}="aux" > + > LABEL="ofono_tty_end" > > SUBSYSTEM!="usb", GOTO="ofono_end" same applies here. See my other comment. And btw. does anybody bothered to look into the inf files from the Windows driver to figure out what the actual assignments are? Regards Marcel ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2011-12-19 17:45 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-11-29 12:21 [PATCH 0/5] udev rules update Philippe Nunes 2011-11-29 12:20 ` Marcel Holtmann 2011-11-29 14:51 ` Philippe Nunes 2011-11-29 12:21 ` [PATCH 1/5] udev: Add rules to support ZTE MF668 dongle Philippe Nunes 2011-12-19 5:49 ` Marcel Holtmann 2011-12-19 17:34 ` Philippe Nunes 2011-11-29 12:21 ` [PATCH 2/5] udev: Add rules to support ZTE MF190 dongle Philippe Nunes 2011-12-19 5:50 ` Marcel Holtmann 2011-12-19 17:45 ` Philippe Nunes 2011-11-29 12:21 ` [PATCH 3/5] udevng.c: tty assignment according OFONO_LABEL should take precedence Philippe Nunes 2011-12-19 5:48 ` Marcel Holtmann 2011-12-19 16:32 ` Philippe Nunes 2011-11-29 12:21 ` [PATCH 4/5] udev: Add rules to support Speedup 7300 dongle Philippe Nunes 2011-12-19 5:51 ` Marcel Holtmann 2011-11-29 12:21 ` [PATCH 5/5] udev: Add rules to support SpeedUp 9800 dongle Philippe Nunes 2011-12-19 5:52 ` Marcel Holtmann
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.