After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 702472 - [MM 0.8] hso devices appear to support IPv6 but can't
[MM 0.8] hso devices appear to support IPv6 but can't
Status: RESOLVED FIXED
Product: NetworkManager
Classification: Platform
Component: ModemManager
unspecified
Other Linux
: Normal normal
: ---
Assigned To: NetworkManager maintainer(s)
NetworkManager maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2013-06-17 15:08 UTC by Dan Williams
Modified: 2013-06-24 17:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch. (3.85 KB, patch)
2013-06-23 09:45 UTC, Aleksander Morgado
committed Details | Review

Description Dan Williams 2013-06-17 15:08:21 UTC
At least with the netdevice, because the custom AT command for retrieving the IP configuration doesn't support IPv6 at all, and the devices don't support DHCP on the net interface.  I believe IPv6 can be used with PPP on these devices, but since the hso plugin doesn't use PPP at all, IPv6 attempts fail with:

error: couldn't connect the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Failed: Call setup failed'

[mm-at-serial-port.c:408] debug_log(): (ttyHS0): --> 'AT+CGDCONT=5,"IPV6","epc.tmobile.com"<CR>'
[mm-at-serial-port.c:408] debug_log(): (ttyHS0): <-- '<CR><LF>OK<CR><LF>'
[option/mm-broadband-bearer-hso.c:618] authenticate(): Not using authentication
[mm-serial-port.c:958] mm_serial_port_open(): (ttyHS0) device open count is 3 (open)
[mm-serial-port.c:1003] mm_serial_port_close(): (ttyHS0) device open count is 2 (close)
[mm-at-serial-port.c:408] debug_log(): (ttyHS0): --> 'AT$QCPDPP=5,0<CR>'
[mm-at-serial-port.c:408] debug_log(): (ttyHS0): <-- '<CR><LF>OK<CR><LF>'
[mm-serial-port.c:958] mm_serial_port_open(): (ttyHS0) device open count is 3 (open)
[mm-serial-port.c:1003] mm_serial_port_close(): (ttyHS0) device open count is 2 (close)
[mm-at-serial-port.c:408] debug_log(): (ttyHS0): --> 'AT_OWANCALL=5,1,1<CR>'
[mm-at-serial-port.c:408] debug_log(): (ttyHS0): <-- '<CR><LF>OK<CR><LF>'
[mm-serial-port.c:1003] mm_serial_port_close(): (ttyHS0) device open count is 1 (close)
[mm-at-serial-port.c:408] debug_log(): (ttyHS0): <-- '_OWANCALL: 5, 3<CR><LF>'
[mm-bearer.c:461] connect_ready(): Couldn't connect bearer '/org/freedesktop/ModemManager1/Bearer/0': 'Call setup failed'

This brings up something I was thinking about during the IP-family discussion; if a device can do IPv6 via PPP but not ethernet, if the bearer requests IPv6, should we create a PPP bearer?  Or should we simply mask out IPv6 on devices that can't support it on the main bearer, like hso?
Comment 1 Aleksander Morgado 2013-06-18 07:05:07 UTC
> This brings up something I was thinking about during the IP-family discussion;
> if a device can do IPv6 via PPP but not ethernet, if the bearer requests IPv6,
> should we create a PPP bearer?  Or should we simply mask out IPv6 on devices
> that can't support it on the main bearer, like hso?

I would simply not expose IPv6 as supported here... although the other change would actually be easier to implement.
Comment 2 Dan Williams 2013-06-19 18:03:37 UTC
Yeah, sounds fine for now, but lets put in a FIXME saying that we probably should create the right bearer for the requested IP family.
Comment 3 Aleksander Morgado 2013-06-23 09:45:57 UTC
Created attachment 247554 [details] [review]
Patch.

I changed my mind and implemented the change to create a generic bearer when IPv6 is requested; let me know what you think. Seems to work well, for what I can tell.
Comment 4 Dan Williams 2013-06-24 17:20:07 UTC
Review of attachment 247554 [details] [review]:

Looks good to me.
Comment 5 Aleksander Morgado 2013-06-24 17:54:39 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.