Support for Infineon modems

Bug #1091663 reported by James Brierley
50
This bug affects 8 people
Affects Status Importance Assigned to Milestone
ModemManager
Unknown
Medium
ubuntu-nexus7
Invalid
Undecided
Unassigned
modemmanager (Ubuntu)
Triaged
Wishlist
Unassigned

Bug Description

Repeated attempts to get 3G connectivity on my Nexus 7 fail. The same SIM worked fine under Android.

Very occasionally, a notification pops up saying that I have connected, but I am then immediately disconnected again. Most of the time, though, I get a 'disconnected' notification and nothing else.

My provider is giffgaff (UK). The mobile broadband hardware is definitely detected by Ubuntu, given that it appears in the network menu.

I can do further testing if asked.

Tags: raring
Alex Chiang (achiang)
Changed in ubuntu-nexus7:
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
Revision history for this message
Robert Bruce Park (robru) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. Unfortunately we can't start working on it yet, because your bug report didn't include enough information.

Please include the information requested at https://wiki.ubuntu.com/DebuggingNetworkManager. If you have trouble, do not hesitate to ask for more assistance. Thanks in advance.

Changed in ubuntu-nexus7:
status: New → Incomplete
Changed in modemmanager (Ubuntu):
status: New → Incomplete
Revision history for this message
James Brierley (jmb8710) wrote :

Thank you. I'm finding it very laborious to collect the information due to the difficulties inherent in using Ubuntu on a tablet. Please bear with me, I will try again tomorrow.

Revision history for this message
Robert Bruce Park (robru) wrote :

Have you considered purchasing the OTG cable? It allows connecting a mouse and keyboard in order to use ubuntu in the traditional way. In fact, this is the recommended mode of operation for the tablet, as we do not expect to resolve the touchscreen issues before 13.04 is released.

Revision history for this message
James Brierley (jmb8710) wrote :

Thank you for the advice Robert, I will see if I can connect a mouse and keyboard. I don't want to sound like I'm complaining, I bought the tablet to help test Ubuntu. I will post again as soon as I can get hold of the relevant logs.

Changed in modemmanager (Ubuntu):
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
Revision history for this message
david6 (andrew-dowden) wrote :

@James Brierley, I suggest you use SSH over WiFi.

You don;t need an 'OTG' USB cable, and you just use the keyboard / mouse on your PC.

at Nexus 7 (Ubuntu) terminal:

    ifconfig

(note the IP address, for wireless)

    sudo apt-get install openssh-server

Then connect from Ubunut PC.

Revision history for this message
Chris Van Hoof (vanhoof) wrote : Re: [Bug 1091663] Re: 3G is non-functional on 32GB+3G Nexus 7

On 12/20/2012 02:42 PM, James Brierley wrote:
> Thank you for the advice Robert, I will see if I can connect a mouse and
> keyboard. I don't want to sound like I'm complaining, I bought the
> tablet to help test Ubuntu. I will post again as soon as I can get hold
> of the relevant logs.

James -- if you're on the latest kernel from Raring connect via USB and:

 $ screen /dev/ttyACM0 115200

--chris

Revision history for this message
James Brierley (jmb8710) wrote : Re: 3G is non-functional on 32GB+3G Nexus 7

Thanks for your help Chris, I've just done this but I'm having problems with openssh-server on my main box so I can't scp across - I am trying to sort this out and I'll get back to you with your ton of debug output as soon as I can.

Revision history for this message
James Brierley (jmb8710) wrote :

At long last, here is the syslog. There is most likely a lot of irrelevant stuff in there but I hope it is useful.

Happy Christmas to all you developers.

-James

Changed in modemmanager (Ubuntu):
status: Incomplete → Triaged
Changed in ubuntu-nexus7:
status: Incomplete → Triaged
Revision history for this message
Aleksander Morgado (aleksander-m) wrote :

Unfortunately syslog is not enough, MM and NM debug logs are what was asked for:
https://wiki.ubuntu.com/DebuggingNetworkManager

Revision history for this message
James Brierley (jmb8710) wrote :

I'm sorry I don't understand, the page states "get the logs which will be written to /var/log/syslog". I enabled debug output for NetworkManager and ModemManager, attempted a 3G connection, and then uploaded the syslog. Please explain what I have done wrong.

Revision history for this message
Aleksander Morgado (aleksander-m) wrote :

Ooops sorry; the link I pasted is not the one we usually use to ask for ModemManager debug logs. These are the steps I meant to paste:
https://wiki.ubuntu.com/DebuggingModemmanager

In the syslog you pasted there was no MM debug output.

Revision history for this message
James Brierley (jmb8710) wrote :

Thank you, I will do this as soon as I can.

Changed in modemmanager (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
Richard Johnson (rajid) wrote :
Revision history for this message
Richard Johnson (rajid) wrote :
Revision history for this message
Richard Johnson (rajid) wrote :
Revision history for this message
Richard Johnson (rajid) wrote :

I have just now posted the network-manager, modem-manager, and mm-test.py log output from my own installation of ubuntu on my nexus 7 with 3G. This the output from "uname -a":

Linux raj-laptop 3.1.10-8-nexus7 #19-Ubuntu SMP PREEMPT Wed Jan 2 14:12:08 UTC 2013 armv7l armv7l armv7l GNU/Linux

I hope this helps debug the problem. If you need anything else, please let me know.

Changed in modemmanager (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Aleksander Morgado (aleksander-m) wrote :

Just checked the logs, thanks. So... ModemManager doesn't support Infineon chipsets yet :-/ The call setup fails in the last step:
 (ttyACM0): --> 'ATD*99***1#<CR>'
 (ttyACM0): <-- '<CR><LF>+CME ERROR: 4<CR><LF>'

It's probably not hard to fix, though. A new plugin to handle the Infineon-specific call setup would be needed.

Beers for anyone willing to sponsor a device of this kind for MM developers; and extra beers if you just write the plugin yourself :-)

Revision history for this message
Richard Johnson (rajid) wrote :

Could we not pull the needed information from the equivalent call setup file(s) under Android? The Android installation can, of course, use the cellular data just fine. I have reloaded my nexus7 with the latest Android 4.2 now, so I could maybe find the appropriate files with some guidance. (I don't claim to know anything at all about Android, of course.)

Revision history for this message
Richard Johnson (rajid) wrote :

I also wonder if sufficient information could be found from the Android forum where they're trying to gain voice capability on the Nexus 7, here:

http://forum.xda-developers.com/showthread.php?t=2025377

It seems to contain many pointers to good information. Unfortunately, I don't know enough about ModemManager plugins, etc., to know what information is needed.

Revision history for this message
grizzly2003 (bpendalo) wrote :

I've got a nexus 7 3g and i've tried to extract al the modemManager log. sorry if something is missing but I'm a new Ubuntu user.

This is the output of the mm test

GSM modem
Driver: 'cdc_acm'
Modem device: '/sys/devices/platform/tegra-ehci.1/usb2/2-1'
Data device: 'ttyACM0'
Vendor: Infineon
Model: XMM6260
Version: 1231_0.17.0_1205
IMEI: <private>
IMSI: <private>
Signal quality: 51
Scanning...
I WIND: current (UMTS)
I WIND: current (GSM)
vodafone IT: available (UMTS)
I TIM: available (UMTS)
3 ITA: available (UMTS)
I TIM: available (GSM)
vodafone IT: available (GSM)
MOBITEL: available (GSM)
Si.mobil: available (GSM)

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Did you try IPv6? How does it work for IPv4?

Revision history for this message
grizzly2003 (bpendalo) wrote :

when i try to activate the gprs context with the command atdt *99***1# the response is the one "cme error: 4" Operation not supported. the ipv6 and ipv4 are set to automatic.

Apr 8 15:08:23 ecotest-laptop modem-manager[725]: <debug> [mm-at-serial-port.c:334] debug_log(): (ttyACM0): --> 'ATD*99***1#<CR>'
Apr 8 15:08:23 ecotest-laptop modem-manager[725]: <debug> [mm-at-serial-port.c:334] debug_log(): (ttyACM0): <-- '<CR><LF>+CME ERROR: 4<CR><LF>'
Apr 8 15:08:23 ecotest-laptop modem-manager[725]: <debug> [mm-serial-parsers.c:448] mm_serial_parser_v1_parse(): Got failure code 4: Operation not supported

Changed in modemmanager:
importance: Unknown → Medium
status: Unknown → New
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

If someone are able to build an updated modemmanager, there is some work done here to test:

http://cgit.freedesktop.org/ModemManager/ModemManager/log/?h=aleksander/infineon

Please add debug logs to this bug report.

Revision history for this message
grizzly2003 (bpendalo) wrote :

I downloaded the file from the repository but to make a test with the new modemmanager but, after the creation of the patch file, the command "debuild -b -uc" replay with this
"debuild: fatal error at line 629:
cannot find readable debian/changelog anywhere!
Are you in the source code tree?"

To make the new modemmanager i've followed the instruction in https://wiki.ubuntu.com/DebuggingModemmanager but at this point i can't go on and test

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Is there a debian/changelog in the current directory then? Also remember that you will need to cross compile this for ARM if you are not building it on the device.

Revision history for this message
grizzly2003 (bpendalo) wrote :

No, there isn't.
For the cross-compile i don't have problems because i'm working on the nexus with an ssh channel.

Revision history for this message
grizzly2003 (bpendalo) wrote :

I've made another time all the steps. When i take from repository the modemmanager source, the debian folder is in. After the patch no. This is the problem.

Revision history for this message
grizzly2003 (bpendalo) wrote :

I've talked to Aleksander and he said that his work is based on the 0.8 version of ModemManager and so this is the reason why I can't go on and patch. The only solution is to make a custon version of ModemManager but i don't know how to make. Is there anyone can make this porting?

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Please try with the packaging here: https://code.launchpad.net/~modemmanager/modemmanager/ubuntu It should give you support for the latest code in modem manager master branch.

Revision history for this message
Ivan Kisjes (ivan-6) wrote :

I'm trying to use that packaging and copying in Alexanders code, and I can get it to build. I'm now however running into issues because modemmanager 0.8 doesn't seem to play well with my DBUS version (1.6.8) -starting the modem manager gives:
 "[main.c:114] name_lost_cb(): Could not acquire the 'org.freedesktop.ModemManager1' service name"

At first I thought that was happening because I screwed up a modem manager installation (I installed and removed a few versions), but after purging all modem managers, removing all redundant org.freedesktop.ModemManager1.confs and having ps aux | grep -i modem not having any results, I started to doubt that. So I checked the code, and found it was crashing on gbus_own_name() in the main() in main.c. Main() differs quite a bit between the .6 and .8 versions, and as I understand it somewhere between .6 and .8 the manager was adapted to fit a wholly new DBus API. Would it be a good idea to try to adapt it to fit the older API?

Rewriting Alexanders code to fit the 0.6 version seems like another option but also like a daunting task, as the internals of the modem manager also seem to have changed quite a bit since 0.6 (no bearers etc). But maybe that is still the easier way to try?

The modem seems to be working in principle though, with wvdial I've been able to connect to a Vodafone APN by changing the dial command to AT+CGDATA= and the phone number to PPP and turning off the PIN, but the modem hung up after connecting and starting ppp (citing "User request" as the reason for the hangup). I'm probably screwing up the authentication or something there.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

I think that happens because you need a network manager that is compatible with the new ModemManager1 interface. Please take a look at: https://code.launchpad.net/~network-manager/network-manager/mm1 or https://code.launchpad.net/~mariusko/network-manager/ubuntu.mm1.

Revision history for this message
Ivan Kisjes (ivan-6) wrote :

OK, I've tried with both those network-managers, but kept getting that same DBus error.

I had to tweak a few things to build the network-managers:
- added -u--ignore-missing-info to dh_shlibdeps in debian/rules, to avoid missing info for a package (I think it was libmm-glib)
- removed libmm-glib-dev from dependencies, as I couldn't find that package (i.e. deleted the line from debian/controls)
- built with --builder='debuild -b -us -uc' to avoid GPG error

Starting ModemManager --debug manually still gives:
[main.c:114] name_lost_cb(): Could not acquire the 'org.freedesktop.ModemManager1' service name

And in the syslog this happens
...
 ModemManager[945]: <info> Loaded plugin 'Infineon'
...
ModemManager[945]: <info> Successfully loaded 25 plugins
ModemManager[945]: <warn> Could not acquire the 'org.freedesktop.ModemManager1' service name
ModemManager[945]: <info> ModemManager is shut down
...
NetworkManager[783]: <error> [1366722197.415731] [nm-dns-dnsmasq.c:399] update(): dnsmasq not available on the bus, can't update servers.
NetworkManager[783]: <error> [1366722197.415914] [nm-dns-dnsmasq.c:401] update(): dnsmasq owner not found on bus: Could not get owner of name 'org.freedesktop.NetworkManager.dnsmasq': no such name
NetworkManager[783]: <warn> DNS: plugin dnsmasq update failed
...
 NetworkManager[783]: <info> (wlan0): IP6 addrconf timed out or failed.
...
 dbus[479]: [system] Failed to activate service 'org.freedesktop.ModemManager1': timed out
NetworkManager[783]: <warn> error creating ModemManager client: Error calling StartServiceByName for org.freedesktop.ModemManager1: GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Activation of org.freedesktop.ModemManager1 timed out

(the whole syslog is attached).

Package versions I'm using at the moment (with the Maurisko manager):
- 0.9.7.995+git201301311547.17123fc-0ubuntu1ppa1
- modemmanager 0.7.990-1
- dbus 1.6.8-1ubuntu6
- libdbus-1-3 1.6.8-1ubuntu6
- libc6 2.17-0ubuntu5
- libdbus-glib-1-2 0.100.2-1
- libglib2.0-0 2.36.0-1ubuntu2
- libgudev-1.0-0 1:198-0ubuntu10
- libnl-3-200 3.2.16-0ubuntu1
- libnl-genl-3-200 3.2.16-0ubuntu1
- libnl-route-3-200 3.2.16-0ubuntu1
- libnm-glib4 0.9.8.0-0ubuntu6
- libnm-util2 0.9.8.0-0ubuntu6
- libpolkit-gobject-1-0 0.105-1ubuntu1
- libsoup2.4-1 2.40.3-0ubuntu1
- upstart 1.8-0ubuntu1
- lsb-base 4.0-0ubuntu27
- wpasupplicant 1.0-3ubuntu1
- udev 175-0ubuntu26
- isc-dhcp-client 4.2.4-5ubuntu2
- iproute 20121211-2
- dnsmasq-base 2.65-1ubuntu1
- policykit-1 0.105-1ubuntu1
- iputils-arping 3:20101006-3ubuntu1

$ uname -a
Linux nexus 3.1.10-9-nexus7 #27-Ubuntu SMP PREEMPT Tue Feb 19 17:43:44 UTC 2013 armv7l armv7l armv7l GNU/Linux

tags: added: raring
Changed in modemmanager:
status: New → Incomplete
Changed in modemmanager:
status: Incomplete → New
Revision history for this message
Richard van Nieuwenhoven (ritchie-s) wrote :

As ubuntu 13.04 is the last desktop version for the nexus 7 (i regret this very very much!!) please look into this bug again. Is there any posibility to backport the ubuntu touch solution. As far as i have read the 3g is funktional in the touch version.

(No i can not use the touch version of ubuntu because i definetly need a X11 enviorment)

I am willing to do the testing

------------
Writen on my Nexus-7 32gb 3g (2012) running multi-rom ubuntu desktop 13.04
appart from 3g evertything is almoust perfekt!

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Is upgrade of a 13.04 installation also not possible?

Revision history for this message
In , Aleksander Morgado (aleksander-m) wrote :

Originally reported at:
  https://bugzilla.gnome.org/show_bug.cgi?id=697611
  https://bugs.launchpad.net/bugs/1091663
Please refer to the original bug report if more details are needed.

The Nexus 7 comes with an Infineon modem, which ModemManager doesn't properly handle. Once connected, the modem requires some tunneling of the raw IP data through the serial device.

Work is started, but not yet finished, in the "aleksander/infineon-rawip" branch in upstream git.

Changed in modemmanager:
status: New → Unknown
Changed in modemmanager:
importance: Medium → Unknown
Changed in modemmanager:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
In , Marius B. Kotsbak (mariusko) wrote : Re: 3G is non-functional on 32GB+3G Nexus 7

Seems the original Nexus 7 is using the Infineon XMM6260 phone controller, while the 2013 edition is using Qualcomm MDM9215M with LTE support (seems to be a Gobi modem, which ModemManager might already support).

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

This is the kind of bug that would *maybe* be fixed by using ofono rather than modemmanager in this instance.

While I understand it's unfortunate that the 3G doesn't work on that device; there is not much I can do until this is fixed upstream for the original Nexus 7. The Nexus 7 2013 might already work, and would require careful testing. Unfortunately, I do not have that hardware so I can't do the tests.

I'm keeping that bug open in case people for modemmanager in Ubuntu in case people want to keep working with upstream on adding support for Infineon modems, but I'll close the task for ubuntu-nexus7 (there won't be package updates there, sadly) and I'll unassign myself, since it's unlikely I'll have time to look into this in the near future.

Please, don't hesitate to file other bug reports for modemmanager specifically or Ubuntu in general. Feel free to comment here if there is anything to add for the Infineon modems, I will still see the bug report comments and be able to respond as appropriate. Thanks!

Changed in ubuntu-nexus7:
status: Triaged → Invalid
assignee: Mathieu Trudel-Lapierre (mathieu-tl) → nobody
Changed in modemmanager (Ubuntu):
assignee: Mathieu Trudel-Lapierre (mathieu-tl) → nobody
importance: Undecided → Low
importance: Low → Wishlist
summary: - 3G is non-functional on 32GB+3G Nexus 7
+ Support for Infineon modems
Revision history for this message
In , Gitlab-migration (gitlab-migration) wrote :

-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/2.

Changed in modemmanager:
status: Confirmed → Unknown
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.