All of lore.kernel.org
 help / color / mirror / Atom feed
* 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

* [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

* [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

* [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

* [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

* [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

* [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 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

* 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 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 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 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

* 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

* 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

* 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

* 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

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.