Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
Hi! > > Does ofonod work for you? I could not get that one to work... > > Because it's looking for a Gobi modem but the MDM6600 isn't one and > doesn't expose that layout (and doesn't really need to anyway). I > don't think ofono has a generic QMI driver, so you'd either need to for > ce it to use the telitqmi or quectelqmi drivers, or write your own > generic QMI one. You are right, it is detected as gobi now: user@devuan:/my/ofono$ sudo python2 test/list-modems [ /gobi_0 ] SystemPath = /sys/devices/platform/4400.ocp/4a064000.usbhshost/4a064800.ohci/usb2/2-1 Features = Emergency = 0 Powered = 0 Lockdown = 0 Interfaces = Online = 0 Type = hardware ...and nothing works. commit db9b292f9290b97c87a8d4b4836af4763c06a39c Author: Bassem BoubakerDate: Mon Mar 19 17:57:31 2018 +0100 I tried this: diff --git a/plugins/udevng.c b/plugins/udevng.c index ff5d41af..6b103254 100644 --- a/plugins/udevng.c +++ b/plugins/udevng.c @@ -1578,8 +1578,6 @@ static struct { { "mbm","cdc_ether","0930" }, { "mbm","cdc_ncm", "0930" }, { "hso","hso" }, - { "gobi", "qmi_wwan" }, - { "gobi", "qcserial" }, { "sierra", "qmi_wwan", "1199" }, { "sierra", "qcserial", "1199" }, { "sierra", "sierra"}, @@ -1602,6 +1600,8 @@ static struct { { "telit", "cdc_acm", "1bc7", "0021" }, { "telitqmi", "qmi_wwan", "1bc7", "1201" }, { "telitqmi", "option", "1bc7", "1201" }, + { "telitqmi", "qmi_wwan", "22b8", "2a70" }, + { "telitqmi", "option", "22b8", "2a70" }, { "nokia", "option", "0421", "060e" }, { "nokia", "option", "0421", "0623" }, { "samsung","option", "04e8", "6889" }, But no luck: ofonod[15879]: plugins/udevng.c:create_modem() /sys/devices/platform/4400.ocp/4a064000.usbhshost/4a064800.ohci/usb2/2-1 ofonod[15879]: plugins/udevng.c:create_modem() driver=telitqmi ofonod[15879]: src/modem.c:ofono_modem_create() name: (null), type: telitqmi ofonod[15879]: plugins/udevng.c:setup_telitqmi() /sys/devices/platform/4400.ocp/4a064000.usbhshost/4a064800.ohci/usb2/2-1 ofonod[15879]: plugins/udevng.c:setup_telitqmi() /dev/cdc-wdm0 255/251/255 05 (null) usbmisc ofonod[15879]: plugins/udevng.c:setup_telitqmi() wwan0 255/251/255 05 (null) net ofonod[15879]: plugins/udevng.c:setup_telitqmi() /dev/cdc-wdm1 255/251/255 06 (null) usbmisc ofonod[15879]: plugins/udevng.c:setup_telitqmi() wwan1 255/251/255 06 (null) net ofonod[15879]: plugins/udevng.c:setup_telitqmi() /dev/cdc-wdm2 255/251/255 07 (null) usbmisc ofonod[15879]: plugins/udevng.c:setup_telitqmi() wwan2 255/251/255 07 (null) net ofonod[15879]: plugins/udevng.c:setup_telitqmi() /dev/cdc-wdm3 255/251/255 08 (null) usbmisc ofonod[15879]: plugins/udevng.c:setup_telitqmi() wwan3 255/251/255 08 (null) net ofonod[15879]: plugins/udevng.c:destroy_modem() /sys/devices/platform/4400.ocp/4a064000.usbhshost/4a064800.ohci/usb2/2-1 ofonod[15879]: src/modem.c:ofono_modem_remove() 0x596480 ofonod[15879]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm0 ofonod[15879]: plugins/udevng.c:destroy_modem() wwan0 ofonod[15879]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm1 ofonod[15879]: plugins/udevng.c:destroy_modem() wwan1 ofonod[15879]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm2 ofonod[15879]: plugins/udevng.c:destroy_modem() wwan2 ofonod[15879]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm3 ofonod[15879]: plugins/udevng.c:destroy_modem() wwan3 ofonod[15879]: plugins/upower.c:upower_connect() upower connect ofonod[15879]: plugins/hfp_hf_bluez5.c:connect_handler() Registering External Profile handler ... With quectelqmi result was similar. I know there are AT commands available at /dev/ttyUSB4. Is there easy way to make ofonod connect to that? Thanks, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
* Dan Williams[180326 15:18]: > On Sun, 2018-03-25 at 13:52 -0700, Tony Lindgren wrote: > > Anyways, looks like qmi_wwan needs to be loaded before > > qcserial module, otherwise we get nine ttyUSB instances > > and ModemManager can't find any modems. > > Use qcaux.c or option, unless the 6600 actually *does* have the same > layout as Gobi 1K/2K/etc devices. OK yeah I don't think it's Gobi. > If you're going to use qcaux or optoin, then you need to use some > variant of USB_DEVICE_AND_INTERFACE_INFO to lock the serial driver to > the specific USB interfaces that expose the TTYs and to ignore the QMI > interfaces and netdevs. OK thanks I'll take a look and post a patch after some testing. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
On Sun, 2018-03-25 at 13:52 -0700, Tony Lindgren wrote: > * Pavel Machek[180325 19:00]: > > Hi! > > > > > > Hmm. Interesting. Anyway, for me ttyUSB4 is interesting, as it > > > > seems > > > > to react to AT commands, and in particular reacts to ADT123; (; > > > > is > > > > important). > > > > > > Is that to dial a voice call? > > > > Yes. And it is ATD123; not ATD. > > Strange, no semicolon is needed when using /dev/gsmtty to > dial a voice call with my current pile of pending changes, > just doing ATD123 dials.. > > Anyways, looks like qmi_wwan needs to be loaded before > qcserial module, otherwise we get nine ttyUSB instances > and ModemManager can't find any modems. Use qcaux.c or option, unless the 6600 actually *does* have the same layout as Gobi 1K/2K/etc devices. If you're going to use qcaux or optoin, then you need to use some variant of USB_DEVICE_AND_INTERFACE_INFO to lock the serial driver to the specific USB interfaces that expose the TTYs and to ignore the QMI interfaces and netdevs. Dan > With qcserial module loaded after qmi_wwan, it still takes > a long time for ModemManager to find the modem. > > Then unrelated to the qcserial module, also looks like I can > no longer use the GPS with ModemManager: > > $ mmcli -m 0 --enable > $ mmcli -m 0 --location-enable-gps-raw > > And then chmod a+r /dev/cdc-wdm0 and pointing gpsd to use > /dev/cdc-wdm0 used to work, but now it seems that gpsd > can no longer read it. Trying to start gpsd manually produces: > > # gpsd -b -n -N /dev/cdc-wdm0 > gpsd:ERROR: SER: /dev/cdc-wdm0 already opened by another process > gpsd:ERROR: initial GPS device /dev/cdc-wdm0 open failed > gpsd:ERROR: can't run with neither control socket nor devices open > > And lsof shows /usr/libexec/qmi-proxy having it open. > > Anybody know what I might be doing wrong? Sounds like something > now needs to be done with qmi-proxy to get access to GPS? > > > > Anyway, "good" solution is to get ofonod running, then use ofone > > > from > > > here: https://github.com/pavelmachek/unicsy_demo > > Thanks I'll take a look. > > > > I think it's the cpcap based config to route voice call audio > > > to SoC, Sebastian knows the details :) > > > > > > The way to figure that one out is to dump the cpcap registers > > > before and during voice call on android with cpcaprw, then > > > diff the output for the audio registers. Probably some SoC > > > registers need to be diffed too with rwmem or similar tool > > > for the mcbsp instance(s) used. > > > > That sounds like hard way to do it. There's source available, I'm > > now > > trying to understand it / fit it into Sebastian's driver. > > > > https://raw.githubusercontent.com/NotKit/android_kernel_motorola_om > > ap4-common/hybris-11.0/sound/soc/codecs/cpcap.c > > Sure that hopefully helps too :) > > Tony > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" > in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
* Tony Lindgren[180326 00:24]: > Looks like on /dev/ttyUSB4 doing AT+COPS? or AT+CREG? won't work > while on /dev/gsmtty1 they work. So /dev/ttyUSB4 seems to a subset of > what's available over n_gsm on ch1. Anyways, good to hear that > /dev/ttyUSB4 can be used to debug voice calls :) Hmm and now they work on /dev/ttyUSB4. Maybe I had SIM card poorly connected.. Tony -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
* Pavel Machek[180325 22:57]: > Hi! > > > > > > Hmm. Interesting. Anyway, for me ttyUSB4 is interesting, as it seems > > > > > to react to AT commands, and in particular reacts to ADT123; (; is > > > > > important). > > > > > > > > Is that to dial a voice call? > > > > > > Yes. And it is ATD123; not ATD. > > > > Strange, no semicolon is needed when using /dev/gsmtty to > > dial a voice call with my current pile of pending changes, > > just doing ATD123 dials.. > > Interesting. Maybe I made some mistake in experiment. Looks like on /dev/ttyUSB4 doing AT+COPS? or AT+CREG? won't work while on /dev/gsmtty1 they work. So /dev/ttyUSB4 seems to a subset of what's available over n_gsm on ch1. Anyways, good to hear that /dev/ttyUSB4 can be used to debug voice calls :) > Thanks for hints, it would not be bad to get gps working. But .. voice > calls. Those are important :-). Yup, please keep us posted :) Meanwhile, I'll slowly continue getting the n_gsm stuff working. Tony -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
Hi! > > > > Hmm. Interesting. Anyway, for me ttyUSB4 is interesting, as it seems > > > > to react to AT commands, and in particular reacts to ADT123; (; is > > > > important). > > > > > > Is that to dial a voice call? > > > > Yes. And it is ATD123; not ATD. > > Strange, no semicolon is needed when using /dev/gsmtty to > dial a voice call with my current pile of pending changes, > just doing ATD123 dials.. Interesting. Maybe I made some mistake in experiment. > Anyways, looks like qmi_wwan needs to be loaded before > qcserial module, otherwise we get nine ttyUSB instances > and ModemManager can't find any modems. > > With qcserial module loaded after qmi_wwan, it still takes > a long time for ModemManager to find the modem. > > Then unrelated to the qcserial module, also looks like I can > no longer use the GPS with ModemManager: > > $ mmcli -m 0 --enable > $ mmcli -m 0 --location-enable-gps-raw > > And then chmod a+r /dev/cdc-wdm0 and pointing gpsd to use > /dev/cdc-wdm0 used to work, but now it seems that gpsd > can no longer read it. Trying to start gpsd manually produces: Thanks for hints, it would not be bad to get gps working. But .. voice calls. Those are important :-). > # gpsd -b -n -N /dev/cdc-wdm0 > gpsd:ERROR: SER: /dev/cdc-wdm0 already opened by another process > gpsd:ERROR: initial GPS device /dev/cdc-wdm0 open failed > gpsd:ERROR: can't run with neither control socket nor devices open > > And lsof shows /usr/libexec/qmi-proxy having it open. > > Anybody know what I might be doing wrong? Sounds like something > now needs to be done with qmi-proxy to get access to GPS? Maybe kill the proxy and then look at cdc-wdm0 by hand? NMEA can be parsed by hand... quite easily. Good night, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
* Pavel Machek[180325 19:00]: > Hi! > > > > Hmm. Interesting. Anyway, for me ttyUSB4 is interesting, as it seems > > > to react to AT commands, and in particular reacts to ADT123; (; is > > > important). > > > > Is that to dial a voice call? > > Yes. And it is ATD123; not ATD. Strange, no semicolon is needed when using /dev/gsmtty to dial a voice call with my current pile of pending changes, just doing ATD123 dials.. Anyways, looks like qmi_wwan needs to be loaded before qcserial module, otherwise we get nine ttyUSB instances and ModemManager can't find any modems. With qcserial module loaded after qmi_wwan, it still takes a long time for ModemManager to find the modem. Then unrelated to the qcserial module, also looks like I can no longer use the GPS with ModemManager: $ mmcli -m 0 --enable $ mmcli -m 0 --location-enable-gps-raw And then chmod a+r /dev/cdc-wdm0 and pointing gpsd to use /dev/cdc-wdm0 used to work, but now it seems that gpsd can no longer read it. Trying to start gpsd manually produces: # gpsd -b -n -N /dev/cdc-wdm0 gpsd:ERROR: SER: /dev/cdc-wdm0 already opened by another process gpsd:ERROR: initial GPS device /dev/cdc-wdm0 open failed gpsd:ERROR: can't run with neither control socket nor devices open And lsof shows /usr/libexec/qmi-proxy having it open. Anybody know what I might be doing wrong? Sounds like something now needs to be done with qmi-proxy to get access to GPS? > > Anyway, "good" solution is to get ofonod running, then use ofone from > > here: https://github.com/pavelmachek/unicsy_demo Thanks I'll take a look. > > I think it's the cpcap based config to route voice call audio > > to SoC, Sebastian knows the details :) > > > > The way to figure that one out is to dump the cpcap registers > > before and during voice call on android with cpcaprw, then > > diff the output for the audio registers. Probably some SoC > > registers need to be diffed too with rwmem or similar tool > > for the mcbsp instance(s) used. > > That sounds like hard way to do it. There's source available, I'm now > trying to understand it / fit it into Sebastian's driver. > > https://raw.githubusercontent.com/NotKit/android_kernel_motorola_omap4-common/hybris-11.0/sound/soc/codecs/cpcap.c Sure that hopefully helps too :) Tony -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
Hi! > > Hmm. Interesting. Anyway, for me ttyUSB4 is interesting, as it seems > > to react to AT commands, and in particular reacts to ADT123; (; is > > important). > > Is that to dial a voice call? Yes. And it is ATD123; not ATD. > > AT+CMGF=1 > > AT+CMGS="123" > > foo^Z > > > > Works for SMS sending. Good. > > So what do you use for reading notifying and reading sms? Well, did not try that, but they should just be displayed in the serial terminal. Anyway, "good" solution is to get ofonod running, then use ofone from here: https://github.com/pavelmachek/unicsy_demo But parsing AT commands is easy enough that I can probably hack it together in few days if neccessary. > > Now, if someone knows what needs to be done to get GSM audio working, > > let me know. That's something I'd really like. > > I think it's the cpcap based config to route voice call audio > to SoC, Sebastian knows the details :) > > The way to figure that one out is to dump the cpcap registers > before and during voice call on android with cpcaprw, then > diff the output for the audio registers. Probably some SoC > registers need to be diffed too with rwmem or similar tool > for the mcbsp instance(s) used. That sounds like hard way to do it. There's source available, I'm now trying to understand it / fit it into Sebastian's driver. https://raw.githubusercontent.com/NotKit/android_kernel_motorola_omap4-common/hybris-11.0/sound/soc/codecs/cpcap.c Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
* Pavel Machek[180324 20:03]: > On Sat 2018-03-24 07:25:17, Tony Lindgren wrote: > > * Dan Williams [180324 14:00]: > > > On Fri, 2018-03-23 at 21:13 +0100, Pavel Machek wrote: > > > > Does ofonod work for you? I could not get that one to work... > > > > > > Because it's looking for a Gobi modem but the MDM6600 isn't one and > > > doesn't expose that layout (and doesn't really need to anyway). I > > > don't think ofono has a generic QMI driver, so you'd either need to for > > > ce it to use the telitqmi or quectelqmi drivers, or write your own > > > generic QMI one. > > > > We also get five USB uarts if we add the device id with something > > like the patch below. I don't quite get why we get five UARTS? > > Not sure, either. Often more than one uart is useful, you get AT > commands on one, while GPRS data flow on some other. > > > Also not sure if we should be using drivers/usb/serial/qcaux.c > > instead of qcserial.c? > > > > And from what I recall trying it out, adding the USB UARTs > > somehow confused ModemManager I think, that needs to be retested > > though :) > > > > And the USB UARTs added do not offer the same set of AT commands > > as the n_gsm serial mux. > > Hmm. Interesting. Anyway, for me ttyUSB4 is interesting, as it seems > to react to AT commands, and in particular reacts to ADT123; (; is > important). Is that to dial a voice call? > AT+CMGF=1 > AT+CMGS="123" > foo^Z > > Works for SMS sending. Good. So what do you use for reading notifying and reading sms? > Now, if someone knows what needs to be done to get GSM audio working, > let me know. That's something I'd really like. I think it's the cpcap based config to route voice call audio to SoC, Sebastian knows the details :) The way to figure that one out is to dump the cpcap registers before and during voice call on android with cpcaprw, then diff the output for the audio registers. Probably some SoC registers need to be diffed too with rwmem or similar tool for the mcbsp instance(s) used. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
On Sat 2018-03-24 07:25:17, Tony Lindgren wrote: > * Dan Williams[180324 14:00]: > > On Fri, 2018-03-23 at 21:13 +0100, Pavel Machek wrote: > > > Does ofonod work for you? I could not get that one to work... > > > > Because it's looking for a Gobi modem but the MDM6600 isn't one and > > doesn't expose that layout (and doesn't really need to anyway). I > > don't think ofono has a generic QMI driver, so you'd either need to for > > ce it to use the telitqmi or quectelqmi drivers, or write your own > > generic QMI one. > > We also get five USB uarts if we add the device id with something > like the patch below. I don't quite get why we get five UARTS? Not sure, either. Often more than one uart is useful, you get AT commands on one, while GPRS data flow on some other. > Also not sure if we should be using drivers/usb/serial/qcaux.c > instead of qcserial.c? > > And from what I recall trying it out, adding the USB UARTs > somehow confused ModemManager I think, that needs to be retested > though :) > > And the USB UARTs added do not offer the same set of AT commands > as the n_gsm serial mux. Hmm. Interesting. Anyway, for me ttyUSB4 is interesting, as it seems to react to AT commands, and in particular reacts to ADT123; (; is important). AT+CMGF=1 AT+CMGS="123" foo^Z Works for SMS sending. Good. (And... Thanks!) Now, if someone knows what needs to be done to get GSM audio working, let me know. That's something I'd really like. Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
* Dan Williams[180324 14:00]: > On Fri, 2018-03-23 at 21:13 +0100, Pavel Machek wrote: > > Does ofonod work for you? I could not get that one to work... > > Because it's looking for a Gobi modem but the MDM6600 isn't one and > doesn't expose that layout (and doesn't really need to anyway). I > don't think ofono has a generic QMI driver, so you'd either need to for > ce it to use the telitqmi or quectelqmi drivers, or write your own > generic QMI one. We also get five USB uarts if we add the device id with something like the patch below. I don't quite get why we get five UARTS? Also not sure if we should be using drivers/usb/serial/qcaux.c instead of qcserial.c? And from what I recall trying it out, adding the USB UARTs somehow confused ModemManager I think, that needs to be retested though :) And the USB UARTs added do not offer the same set of AT commands as the n_gsm serial mux. Regards, Tony 8< -- diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c --- a/drivers/usb/serial/qcserial.c +++ b/drivers/usb/serial/qcserial.c @@ -181,6 +181,9 @@ static const struct usb_device_id id_table[] = { /* Huawei devices */ {DEVICE_HWI(0x03f0, 0x581d)}, /* HP lt4112 LTE/HSPA+ Gobi 4G Modem (Huawei me906e) */ + /* Motorola devices */ + {DEVICE_HWI(0x22b8, 0x2a70)}, /* Droid 4 mdm6600 */ + { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, id_table); -- 2.16.2 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
On Fri, 2018-03-23 at 21:13 +0100, Pavel Machek wrote: > On Fri 2018-03-23 12:35:21, Sebastian Reichel wrote: > > Hi, > > > > On Fri, Mar 23, 2018 at 11:54:55AM +0100, Pavel Machek wrote: > > > Hi! > > > > > > > > > Do you have the related dts patches picked from next? > > > > > > > > > > > > fdd192037fce ("ARM: dts: omap4-droid4: Fix USB PHY port > > > > > > naming") > > > > > > e5b9fd7bdeb5 ("ARM: dts: omap4-droid4: Configure MDM6600 > > > > > > USB PHY") > > > > > > > > > > > > But yeah all you need to do is have phy-mapphone-mdm6600 > > > > > > and > > > > > > ohci-platform loaded and then ifconfig should show four > > > > > > wwan > > > > > > interfaces being added. > > > > > > > > > > ifconfig? I thought I should get /dev/ttyUSB0..3? > > > > > > > > I believe they are QMI via qmi_wwan, not TTYs. > > > > > > Well, qmicli expects device path... and I see nothing on > > > ifconfig. Any > > > idea how the device would be named? > > > > > > But I believe it just does not work, see the qcserial experiment > > > with > > > new_id below. > > > > Dan is right, you need qmi_wwan driver. qmicli expects > > /dev/cdc-wdm device. I use this on Droid 4: > > > > qmicli -d /dev/cdc-wdm0 --some-other-option > > Aha, there's ./drivers/usb/serial/usb_wwan.c and there's > ./drivers/net/usb/qmi_wwan.o . That confused me. > > qmicli now works for me, thanks! > > Tested-by: Pavel Machek> > Does ofonod work for you? I could not get that one to work... Because it's looking for a Gobi modem but the MDM6600 isn't one and doesn't expose that layout (and doesn't really need to anyway). I don't think ofono has a generic QMI driver, so you'd either need to for ce it to use the telitqmi or quectelqmi drivers, or write your own generic QMI one. Dan > ofonod[4083]: plugins/udevng.c:create_modem() > /sys/devices/platform/4400.ocp/4a064000.usbhshost/4a064800.ohci/u > sb2/2-1 > ofonod[4083]: plugins/udevng.c:create_modem() driver=gobi > ofonod[4083]: src/modem.c:ofono_modem_create() name: (null), type: > gobi > ofonod[4083]: plugins/udevng.c:setup_gobi() > /sys/devices/platform/4400.ocp/4a064000.usbhshost/4a064800.ohci/u > sb2/2-1 > ofonod[4083]: plugins/udevng.c:setup_gobi() /dev/cdc-wdm0 255/251/255 > 05 (null) (null) usbmisc > ofonod[4083]: plugins/udevng.c:setup_gobi() wwan0 255/251/255 05 > (null) (null) net > ofonod[4083]: plugins/udevng.c:setup_gobi() /dev/cdc-wdm1 255/251/255 > 06 (null) (null) usbmisc > ofonod[4083]: plugins/udevng.c:setup_gobi() wwan1 255/251/255 06 > (null) (null) net > ofonod[4083]: plugins/udevng.c:setup_gobi() /dev/cdc-wdm2 255/251/255 > 07 (null) (null) usbmisc > ofonod[4083]: plugins/udevng.c:setup_gobi() wwan2 255/251/255 07 > (null) (null) net > ofonod[4083]: plugins/udevng.c:setup_gobi() /dev/cdc-wdm3 255/251/255 > 08 (null) (null) usbmisc > ofonod[4083]: plugins/udevng.c:setup_gobi() wwan3 255/251/255 08 > (null) (null) net > ofonod[4083]: plugins/udevng.c:destroy_modem() > /sys/devices/platform/4400.ocp/4a064000.usbhshost/4a064800.ohci/u > sb2/2-1 > ofonod[4083]: src/modem.c:ofono_modem_remove() 0x5eb380 > ofonod[4083]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm0 > ofonod[4083]: plugins/udevng.c:destroy_modem() wwan0 > ofonod[4083]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm1 > ofonod[4083]: plugins/udevng.c:destroy_modem() wwan1 > ofonod[4083]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm2 > ofonod[4083]: plugins/udevng.c:destroy_modem() wwan2 > ofonod[4083]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm3 > ofonod[4083]: plugins/udevng.c:destroy_modem() wwan3 > ofonod[4083]: plugins/upower.c:upower_connect() upower connect > ofonod[4083]: plugins/hfp_hf_bluez5.c:connect_handler() Registering > External Profile handler ... > > > Pavel -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
On Fri 2018-03-23 12:35:21, Sebastian Reichel wrote: > Hi, > > On Fri, Mar 23, 2018 at 11:54:55AM +0100, Pavel Machek wrote: > > Hi! > > > > > > > Do you have the related dts patches picked from next? > > > > > > > > > > fdd192037fce ("ARM: dts: omap4-droid4: Fix USB PHY port naming") > > > > > e5b9fd7bdeb5 ("ARM: dts: omap4-droid4: Configure MDM6600 USB PHY") > > > > > > > > > > But yeah all you need to do is have phy-mapphone-mdm6600 and > > > > > ohci-platform loaded and then ifconfig should show four wwan > > > > > interfaces being added. > > > > > > > > ifconfig? I thought I should get /dev/ttyUSB0..3? > > > > > > I believe they are QMI via qmi_wwan, not TTYs. > > > > Well, qmicli expects device path... and I see nothing on ifconfig. Any > > idea how the device would be named? > > > > But I believe it just does not work, see the qcserial experiment with > > new_id below. > > Dan is right, you need qmi_wwan driver. qmicli expects > /dev/cdc-wdm device. I use this on Droid 4: > > qmicli -d /dev/cdc-wdm0 --some-other-option Aha, there's ./drivers/usb/serial/usb_wwan.c and there's ./drivers/net/usb/qmi_wwan.o . That confused me. qmicli now works for me, thanks! Tested-by: Pavel MachekDoes ofonod work for you? I could not get that one to work... ofonod[4083]: plugins/udevng.c:create_modem() /sys/devices/platform/4400.ocp/4a064000.usbhshost/4a064800.ohci/usb2/2-1 ofonod[4083]: plugins/udevng.c:create_modem() driver=gobi ofonod[4083]: src/modem.c:ofono_modem_create() name: (null), type: gobi ofonod[4083]: plugins/udevng.c:setup_gobi() /sys/devices/platform/4400.ocp/4a064000.usbhshost/4a064800.ohci/usb2/2-1 ofonod[4083]: plugins/udevng.c:setup_gobi() /dev/cdc-wdm0 255/251/255 05 (null) (null) usbmisc ofonod[4083]: plugins/udevng.c:setup_gobi() wwan0 255/251/255 05 (null) (null) net ofonod[4083]: plugins/udevng.c:setup_gobi() /dev/cdc-wdm1 255/251/255 06 (null) (null) usbmisc ofonod[4083]: plugins/udevng.c:setup_gobi() wwan1 255/251/255 06 (null) (null) net ofonod[4083]: plugins/udevng.c:setup_gobi() /dev/cdc-wdm2 255/251/255 07 (null) (null) usbmisc ofonod[4083]: plugins/udevng.c:setup_gobi() wwan2 255/251/255 07 (null) (null) net ofonod[4083]: plugins/udevng.c:setup_gobi() /dev/cdc-wdm3 255/251/255 08 (null) (null) usbmisc ofonod[4083]: plugins/udevng.c:setup_gobi() wwan3 255/251/255 08 (null) (null) net ofonod[4083]: plugins/udevng.c:destroy_modem() /sys/devices/platform/4400.ocp/4a064000.usbhshost/4a064800.ohci/usb2/2-1 ofonod[4083]: src/modem.c:ofono_modem_remove() 0x5eb380 ofonod[4083]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm0 ofonod[4083]: plugins/udevng.c:destroy_modem() wwan0 ofonod[4083]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm1 ofonod[4083]: plugins/udevng.c:destroy_modem() wwan1 ofonod[4083]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm2 ofonod[4083]: plugins/udevng.c:destroy_modem() wwan2 ofonod[4083]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm3 ofonod[4083]: plugins/udevng.c:destroy_modem() wwan3 ofonod[4083]: plugins/upower.c:upower_connect() upower connect ofonod[4083]: plugins/hfp_hf_bluez5.c:connect_handler() Registering External Profile handler ... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
Hi, On Fri, Mar 23, 2018 at 11:54:55AM +0100, Pavel Machek wrote: > Hi! > > > > > Do you have the related dts patches picked from next? > > > > > > > > fdd192037fce ("ARM: dts: omap4-droid4: Fix USB PHY port naming") > > > > e5b9fd7bdeb5 ("ARM: dts: omap4-droid4: Configure MDM6600 USB PHY") > > > > > > > > But yeah all you need to do is have phy-mapphone-mdm6600 and > > > > ohci-platform loaded and then ifconfig should show four wwan > > > > interfaces being added. > > > > > > ifconfig? I thought I should get /dev/ttyUSB0..3? > > > > I believe they are QMI via qmi_wwan, not TTYs. > > Well, qmicli expects device path... and I see nothing on ifconfig. Any > idea how the device would be named? > > But I believe it just does not work, see the qcserial experiment with > new_id below. Dan is right, you need qmi_wwan driver. qmicli expects /dev/cdc-wdm device. I use this on Droid 4: qmicli -d /dev/cdc-wdm0 --some-other-option -- Sebastian > > Best regards, > Pavel > > > > But qcserial driver does not bind to that. If I attempt to force it: > > > > > > root@devuan:/sys/bus/usb-serial/drivers/qcserial# lsusb > > > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > > > Bus 002 Device 002: ID 22b8:2a70 Motorola PCS > > > Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub > > > root@devuan:/sys/bus/usb-serial/drivers/qcserial# echo "22b8 2a70" > > > > new_id > > > [ 2059.267730] usb 2-1: unknown number of interfaces: 9 > > > [ 2059.272949] usb 2-1: unknown number of interfaces: 9 > > > [ 2059.278045] usb 2-1: unknown number of interfaces: 9 > > > [ 2059.283233] usb 2-1: unknown number of interfaces: 9 > > > [ 2059.288330] usb 2-1: unknown number of interfaces: 9 > > > [ 2059.293457] usb 2-1: unknown number of interfaces: 9 > > > [ 2059.298553] usb 2-1: unknown number of interfaces: 9 > > > [ 2059.303680] usb 2-1: unknown number of interfaces: 9 > > > [ 2059.308776] usb 2-1: unknown number of interfaces: 9 > > > > > > I don't get anything useful. Do I need to boot android before booting > > > Linux or something? How does your lsusb look like? > > > > > > Thanks, > > > Pavel > > -- > (english) http://www.livejournal.com/~pavelmachek > (cesky, pictures) > http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: PGP signature
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
Hi! > > > Do you have the related dts patches picked from next? > > > > > > fdd192037fce ("ARM: dts: omap4-droid4: Fix USB PHY port naming") > > > e5b9fd7bdeb5 ("ARM: dts: omap4-droid4: Configure MDM6600 USB PHY") > > > > > > But yeah all you need to do is have phy-mapphone-mdm6600 and > > > ohci-platform loaded and then ifconfig should show four wwan > > > interfaces being added. > > > > ifconfig? I thought I should get /dev/ttyUSB0..3? > > I believe they are QMI via qmi_wwan, not TTYs. Well, qmicli expects device path... and I see nothing on ifconfig. Any idea how the device would be named? But I believe it just does not work, see the qcserial experiment with new_id below. Best regards, Pavel > > But qcserial driver does not bind to that. If I attempt to force it: > > > > root@devuan:/sys/bus/usb-serial/drivers/qcserial# lsusb > > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > > Bus 002 Device 002: ID 22b8:2a70 Motorola PCS > > Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub > > root@devuan:/sys/bus/usb-serial/drivers/qcserial# echo "22b8 2a70" > > > new_id > > [ 2059.267730] usb 2-1: unknown number of interfaces: 9 > > [ 2059.272949] usb 2-1: unknown number of interfaces: 9 > > [ 2059.278045] usb 2-1: unknown number of interfaces: 9 > > [ 2059.283233] usb 2-1: unknown number of interfaces: 9 > > [ 2059.288330] usb 2-1: unknown number of interfaces: 9 > > [ 2059.293457] usb 2-1: unknown number of interfaces: 9 > > [ 2059.298553] usb 2-1: unknown number of interfaces: 9 > > [ 2059.303680] usb 2-1: unknown number of interfaces: 9 > > [ 2059.308776] usb 2-1: unknown number of interfaces: 9 > > > > I don't get anything useful. Do I need to boot android before booting > > Linux or something? How does your lsusb look like? > > > > Thanks, > > Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
On Thu, 2018-03-22 at 20:28 +0100, Pavel Machek wrote: > Hi! > > > > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost > > > $ > > > sudo lsusb > > > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > > > Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub > > > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost > > > $ > > > zcat /proc/config.gz | grep MAPPH > > > CONFIG_PHY_MAPPHONE_MDM6600=y > > > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost > > > $ > > > zcat /proc/config.gz | grep OHCI_ > > > CONFIG_USB_OHCI_LITTLE_ENDIAN=y > > > CONFIG_USB_OHCI_HCD=y > > > CONFIG_USB_OHCI_HCD_OMAP3=y > > > CONFIG_USB_OHCI_HCD_PLATFORM=y > > > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost > > > $ > > > > > > As far as I can tell, > > > > > > +CONFIG_USB_WDM=y > > > +CONFIG_USB_SERIAL=y > > > +CONFIG_USB_SERIAL_QUALCOMM=y > > > +CONFIG_USB_SERIAL_WWAN=y > > > > > > should be enabled to enable the drivers (and I did that), but > > > without > > > device showing on the bus... > > > > > > Any ideas? > > > > Do you have the related dts patches picked from next? > > > > fdd192037fce ("ARM: dts: omap4-droid4: Fix USB PHY port naming") > > e5b9fd7bdeb5 ("ARM: dts: omap4-droid4: Configure MDM6600 USB PHY") > > > > But yeah all you need to do is have phy-mapphone-mdm6600 and > > ohci-platform loaded and then ifconfig should show four wwan > > interfaces being added. > > ifconfig? I thought I should get /dev/ttyUSB0..3? I believe they are QMI via qmi_wwan, not TTYs. Dan > Anyway, that does not seem to work. Something is detected now: > > [ 10.819549] ALSA device list: > [ 10.831787] #0: HDMI 58006000.encoder > [ 10.841186] Waiting 10 sec before mounting root device... > [ 10.887573] usb 2-1: New USB device found, idVendor=22b8, > idProduct=2a70 > [ 10.897521] usb 2-1: New USB device strings: Mfr=1, Product=2, > SerialNumber=0 > [ 10.907684] usb 2-1: Product: Flash MZ600 > [ 10.914611] usb 2-1: Manufacturer: Motorola, Incorporated > [ 20.967193] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to > feature incompatibilities > > But qcserial driver does not bind to that. If I attempt to force it: > > root@devuan:/sys/bus/usb-serial/drivers/qcserial# lsusb > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > Bus 002 Device 002: ID 22b8:2a70 Motorola PCS > Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub > root@devuan:/sys/bus/usb-serial/drivers/qcserial# echo "22b8 2a70" > > new_id > [ 2059.267730] usb 2-1: unknown number of interfaces: 9 > [ 2059.272949] usb 2-1: unknown number of interfaces: 9 > [ 2059.278045] usb 2-1: unknown number of interfaces: 9 > [ 2059.283233] usb 2-1: unknown number of interfaces: 9 > [ 2059.288330] usb 2-1: unknown number of interfaces: 9 > [ 2059.293457] usb 2-1: unknown number of interfaces: 9 > [ 2059.298553] usb 2-1: unknown number of interfaces: 9 > [ 2059.303680] usb 2-1: unknown number of interfaces: 9 > [ 2059.308776] usb 2-1: unknown number of interfaces: 9 > > I don't get anything useful. Do I need to boot android before booting > Linux or something? How does your lsusb look like? > > Thanks, > Pavel -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
Hi! > > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ > > sudo lsusb > > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > > Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub > > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ > > zcat /proc/config.gz | grep MAPPH > > CONFIG_PHY_MAPPHONE_MDM6600=y > > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ > > zcat /proc/config.gz | grep OHCI_ > > CONFIG_USB_OHCI_LITTLE_ENDIAN=y > > CONFIG_USB_OHCI_HCD=y > > CONFIG_USB_OHCI_HCD_OMAP3=y > > CONFIG_USB_OHCI_HCD_PLATFORM=y > > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ > > > > As far as I can tell, > > > > +CONFIG_USB_WDM=y > > +CONFIG_USB_SERIAL=y > > +CONFIG_USB_SERIAL_QUALCOMM=y > > +CONFIG_USB_SERIAL_WWAN=y > > > > should be enabled to enable the drivers (and I did that), but without > > device showing on the bus... > > > > Any ideas? > > Do you have the related dts patches picked from next? > > fdd192037fce ("ARM: dts: omap4-droid4: Fix USB PHY port naming") > e5b9fd7bdeb5 ("ARM: dts: omap4-droid4: Configure MDM6600 USB PHY") > > But yeah all you need to do is have phy-mapphone-mdm6600 and > ohci-platform loaded and then ifconfig should show four wwan > interfaces being added. ifconfig? I thought I should get /dev/ttyUSB0..3? Anyway, that does not seem to work. Something is detected now: [ 10.819549] ALSA device list: [ 10.831787] #0: HDMI 58006000.encoder [ 10.841186] Waiting 10 sec before mounting root device... [ 10.887573] usb 2-1: New USB device found, idVendor=22b8, idProduct=2a70 [ 10.897521] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 10.907684] usb 2-1: Product: Flash MZ600 [ 10.914611] usb 2-1: Manufacturer: Motorola, Incorporated [ 20.967193] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities But qcserial driver does not bind to that. If I attempt to force it: root@devuan:/sys/bus/usb-serial/drivers/qcserial# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 002: ID 22b8:2a70 Motorola PCS Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub root@devuan:/sys/bus/usb-serial/drivers/qcserial# echo "22b8 2a70" > new_id [ 2059.267730] usb 2-1: unknown number of interfaces: 9 [ 2059.272949] usb 2-1: unknown number of interfaces: 9 [ 2059.278045] usb 2-1: unknown number of interfaces: 9 [ 2059.283233] usb 2-1: unknown number of interfaces: 9 [ 2059.288330] usb 2-1: unknown number of interfaces: 9 [ 2059.293457] usb 2-1: unknown number of interfaces: 9 [ 2059.298553] usb 2-1: unknown number of interfaces: 9 [ 2059.303680] usb 2-1: unknown number of interfaces: 9 [ 2059.308776] usb 2-1: unknown number of interfaces: 9 I don't get anything useful. Do I need to boot android before booting Linux or something? How does your lsusb look like? Thanks, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
* Pavel Machek[180322 13:57]: > Hi! > > > idle lcd offphy-mapphone-mdm6600ohci-platform > > 153mW 284mW 344mW > > > > So it seems that MDM6600 is currently not yet idling even with it's > > radio turned off, but that's something that is beyond the control of > > this USB PHY driver. This patch does get us to the point where modem > > data and GPS are usable with libqmi and ModemManager for example. > > Voice calls need more audio driver work. > > Ok, let me try. I believe I should see the modem device on lsusb, but > I don't. > > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ > sudo lsusb > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ > zcat /proc/config.gz | grep MAPPH > CONFIG_PHY_MAPPHONE_MDM6600=y > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ > zcat /proc/config.gz | grep OHCI_ > CONFIG_USB_OHCI_LITTLE_ENDIAN=y > CONFIG_USB_OHCI_HCD=y > CONFIG_USB_OHCI_HCD_OMAP3=y > CONFIG_USB_OHCI_HCD_PLATFORM=y > user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ > > As far as I can tell, > > +CONFIG_USB_WDM=y > +CONFIG_USB_SERIAL=y > +CONFIG_USB_SERIAL_QUALCOMM=y > +CONFIG_USB_SERIAL_WWAN=y > > should be enabled to enable the drivers (and I did that), but without > device showing on the bus... > > Any ideas? Do you have the related dts patches picked from next? fdd192037fce ("ARM: dts: omap4-droid4: Fix USB PHY port naming") e5b9fd7bdeb5 ("ARM: dts: omap4-droid4: Configure MDM6600 USB PHY") But yeah all you need to do is have phy-mapphone-mdm6600 and ohci-platform loaded and then ifconfig should show four wwan interfaces being added. Regards, Tony signature.asc Description: PGP signature
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
Hi! > idle lcd off phy-mapphone-mdm6600ohci-platform > 153mW 284mW 344mW > > So it seems that MDM6600 is currently not yet idling even with it's > radio turned off, but that's something that is beyond the control of > this USB PHY driver. This patch does get us to the point where modem > data and GPS are usable with libqmi and ModemManager for example. > Voice calls need more audio driver work. Ok, let me try. I believe I should see the modem device on lsusb, but I don't. user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ sudo lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ zcat /proc/config.gz | grep MAPPH CONFIG_PHY_MAPPHONE_MDM6600=y user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ zcat /proc/config.gz | grep OHCI_ CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_OMAP3=y CONFIG_USB_OHCI_HCD_PLATFORM=y user@devuan:/sys/devices/platform/4400.ocp/4a064000.usbhshost$ As far as I can tell, +CONFIG_USB_WDM=y +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_QUALCOMM=y +CONFIG_USB_SERIAL_WWAN=y should be enabled to enable the drivers (and I did that), but without device showing on the bus... Any ideas? Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
* Pavel Machek[180309 09:45]: > Hi! > > > Let's add support for the GPIO controlled USB PHY on the MDM6600 modem. > > It is used on some Motorola Mapphone series of phones and tablets such > > as Droid 4. > ... > > So it seems that MDM6600 is currently not yet idling even with it's > > radio turned off, but that's something that is beyond the control of > > this USB PHY driver. This patch does get us to the point where modem > > data and GPS are usable with libqmi and ModemManager for example. > > Voice calls need more audio driver work. > > Thanks for the good work. Looks like I'll need to get droid > 4... fortunately it is not available in czech republic so I don't get > excuse to get another toy. > > Oh.. no. It is available in Czech republic. Is Motorola Droid 4 XT894 > the right one? Hmm, and LTE modem is useless in Europe, while the GSM > one does not work, right? Yup xt894 is the model number for droid 4. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
Hi! > Let's add support for the GPIO controlled USB PHY on the MDM6600 modem. > It is used on some Motorola Mapphone series of phones and tablets such > as Droid 4. ... > So it seems that MDM6600 is currently not yet idling even with it's > radio turned off, but that's something that is beyond the control of > this USB PHY driver. This patch does get us to the point where modem > data and GPS are usable with libqmi and ModemManager for example. > Voice calls need more audio driver work. Thanks for the good work. Looks like I'll need to get droid 4... fortunately it is not available in czech republic so I don't get excuse to get another toy. Oh.. no. It is available in Czech republic. Is Motorola Droid 4 XT894 the right one? Hmm, and LTE modem is useless in Europe, while the GSM one does not work, right? Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
[PATCHv4] phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
Let's add support for the GPIO controlled USB PHY on the MDM6600 modem. It is used on some Motorola Mapphone series of phones and tablets such as Droid 4. The MDM6600 is hardwired to the first OHCI port in the Droid 4 case, and is controlled by several GPIOs. The USB PHY is integrated into the MDM6600 device it seems. We know this as we get L3 errors from omap-usb-host if trying to use the PHY before MDM6600 is configured. The GPIOs controlling MDM6600 are used to power device on and off, to configure the USB start-up mode (normal mode versus USB flashing), and they also tell the state of the MDM6600 device. The two start-up mode GPIOs are dual-purposed and used for out of band (OOB) wake-up for USB and TS 27.010 serial mux. But we need to configure the USB start-up mode first to get MDM6600 booted in the right mode to be usable in the first place. Note that the Motorola Mapphone Linux kernel tree has a "radio-ctrl" driver for modems. But it really does not control the radio at all, it just controls the modem power and start-up mode for USB. So I came to the conclusion that we're better off having this done in the USB PHY driver. For adding support for USB flashing mode, we can later on add a kernel module option for flash_mode=1 or something similar. Also note that currently there is no PM runtime support for the OHCI on omap variant SoCs. So for low(er) power idle states, currenty both ohci-platform and phy-mapphone-mdm6600 must be unloaded or unbound. For reference here is what I measured for total power consumption on an idle Droid 4 with and without USB related MDM6600 modules: idle lcd offphy-mapphone-mdm6600ohci-platform 153mW 284mW 344mW So it seems that MDM6600 is currently not yet idling even with it's radio turned off, but that's something that is beyond the control of this USB PHY driver. This patch does get us to the point where modem data and GPS are usable with libqmi and ModemManager for example. Voice calls need more audio driver work. Cc: devicet...@vger.kernel.org Cc: Mark RutlandCc: Marcel Partap Cc: Michael Scott Cc: Rob Herring Reviewed-by: Rob Herring Signed-off-by: Tony Lindgren --- Changes since v3: - Dropped unneeded usb_phy related parts as suggested by Kishon Changes since v2: - Dropped OTG as suggested by Kishon - Added Rob's Reviewed-by Changes since v1: - Fixed up issues noticed by Rob and Sebastian - Implemented wake irq handler (for debug use only for now) - Improved error handling based on more testing --- .../bindings/phy/phy-mapphone-mdm6600.txt | 30 ++ drivers/phy/motorola/Kconfig | 8 + drivers/phy/motorola/Makefile | 1 + drivers/phy/motorola/phy-mapphone-mdm6600.c| 542 + 4 files changed, 581 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/phy-mapphone-mdm6600.txt create mode 100644 drivers/phy/motorola/phy-mapphone-mdm6600.c diff --git a/Documentation/devicetree/bindings/phy/phy-mapphone-mdm6600.txt b/Documentation/devicetree/bindings/phy/phy-mapphone-mdm6600.txt new file mode 100644 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/phy-mapphone-mdm6600.txt @@ -0,0 +1,30 @@ +Device tree binding documentation for Motorola Mapphone MDM6600 USB PHY + +Required properties: +- compatible Must be "motorola,mapphone-mdm6600" +- enable-gpios GPIO to enable the USB PHY +- power-gpios GPIO to power on the device +- reset-gpios GPIO to reset the device +- motorola,mode-gpios Two GPIOs to configure MDM6600 USB start-up mode for + normal mode versus USB flashing mode +- motorola,cmd-gpios Three GPIOs to control the power state of the MDM6600 +- motorola,status-gpiosThree GPIOs to read the power state of the MDM6600 + +Example: + +usb-phy { + compatible = "motorola,mapphone-mdm6600"; + enable-gpios = < 31 GPIO_ACTIVE_LOW>; + power-gpios = < 22 GPIO_ACTIVE_HIGH>; + reset-gpios = < 17 GPIO_ACTIVE_HIGH>; + motorola,mode-gpios = < 20 GPIO_ACTIVE_HIGH>, + < 21 GPIO_ACTIVE_HIGH>; + motorola,cmd-gpios = < 7 GPIO_ACTIVE_HIGH>, +< 8 GPIO_ACTIVE_HIGH>, +< 14 GPIO_ACTIVE_HIGH>; + motorola,status-gpios = < 20 GPIO_ACTIVE_HIGH>, + < 21 GPIO_ACTIVE_HIGH>, + < 23 GPIO_ACTIVE_HIGH>; + #phy-cells = <0>; +}; + diff --git a/drivers/phy/motorola/Kconfig b/drivers/phy/motorola/Kconfig --- a/drivers/phy/motorola/Kconfig +++ b/drivers/phy/motorola/Kconfig @@ -10,3 +10,11 @@ config PHY_CPCAP_USB help Enable this for USB to work on Motorola phones and tablets such as Droid 4. + +config PHY_MAPPHONE_MDM6600 + tristate