<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>On Sat, Feb 7, 2015, at 12:15 PM, Aleksander Morgado wrote:<br></div>
<blockquote type="cite"><div>On Mon, Jan 26, 2015 at 11:54 PM, Isaac Raway <<a href="mailto:isaac@mm.st">isaac@mm.st</a>> wrote:<br></div>
<blockquote><div>On Mon, Jan 26, 2015, at 04:43 PM, Dan Williams wrote:<br></div>
<div> </div>
<div>On Mon, 2015-01-26 at 16:36 -0600, Isaac Raway wrote:<br></div>
<div> </div>
<div>On Mon, Jan 26, 2015, at 04:33 PM, Dan Williams wrote:<br></div>
<div> </div>
<div>On Mon, 2015-01-26 at 15:53 -0600, Isaac Raway wrote:<br></div>
<div> </div>
<div>On Mon, Jan 26, 2015, at 03:12 PM, Dan Williams wrote:<br></div>
<div> </div>
<div>On Mon, 2015-01-26 at 14:42 -0600, Isaac Raway wrote:<br></div>
<div> </div>
<div>On Mon, Jan 12, 2015, at 09:22 AM, Dan Williams wrote:<br></div>
<div> </div>
<div>On Mon, 2015-01-12 at 07:15 -0600, Isaac Raway wrote:<br></div>
<div> </div>
<div>On Wed, Jan 7, 2015, at 09:55 AM, Dan Williams wrote:<br></div>
<div> </div>
<div>On Tue, 2014-12-30 at 11:37 -0600, Isaac Raway wrote:<br></div>
<div> </div>
<div>One interesting note, this card works perfectly if I boot into<br></div>
<div>Windows from a USB drive (Windows was banished from the<br></div>
<div>internal SSD on purchase), connect via Dell's "SkyLight"<br></div>
<div>program, then warm-boot back to Fedora 20. In that case, the<br></div>
<div>initial power mode read from dms-get-operating-mode is "online"<br></div>
<div>rather than "low-power".<br></div>
<div> </div>
<div> </div>
<div>This smells like rfkill driver issues. What do you get for<br></div>
<div>'rfkill list' run in a terminal under Linux from cold-boot, and<br></div>
<div>does that change if you boot windows, then warm-boot to Linux?<br></div>
<div> </div>
<div> </div>
<div>Cold boot and wam boot both seem to respond with the same results<br></div>
<div>for rfkill list and do not seem to mention the WWAN card.<br></div>
<div>Although it is interesting that the ID numbers(?) are different<br></div>
<div>and the order has changed. Not sure if that is significant.<br></div>
<div> </div>
<div>Cold boot:<br></div>
<div> </div>
<div>1: phy0: Wireless LAN Soft blocked: no Hard blocked: no<br></div>
<div>2: hci0: Bluetooth Soft blocked: no Hard blocked: no<br></div>
<div> </div>
<div> </div>
<div>Warm boot:<br></div>
<div> </div>
<div>: hci0: Bluetooth Soft blocked: no Hard blocked: no<br></div>
<div>3: phy0: Wireless LAN Soft blocked: no Hard blocked: no<br></div>
<div> </div>
<div> </div>
<div>Is this a Dell 5570 (Sierra 8805)? Also, which specific Windows<br></div>
<div>kernel version is this machine using?<br></div>
<div> </div>
<div>If it is a Sierra 8805, can you run 'minicom -D /dev/ttyUSBx'<br></div>
<div>(where 'x' is one of the serial ports exposed by the modem, if<br></div>
<div>any) and then run "at!pcinfo". Try all the ports, one of them may<br></div>
<div>respond even though the modem is usually driven by QMI.<br></div>
<div> </div>
<div> </div>
<div>Got this to work after a reboot:<br></div>
<div> </div>
<div>at!pcinfo? State: LowPowerMode LPM force flags - W_DISABLE:0,<br></div>
<div>User:0, Temp:0, Volt:0, BIOS:1, GOBIIM:0 W_DISABLE: 0 Poweroff<br></div>
<div>mode: 0 LPM Persistent: 0<br></div>
<div> </div>
<div>I checked BIOS settings and was able to find only these, none of<br></div>
<div>which seem to impact the state of this result:<br></div>
<div> </div>
<div>Wireless Radio Control -- Control WWAN radio checkbox disabled --<br></div>
<div>was enabled, no change Wireless Device Enable -- WWAN checkbox<br></div>
<div>enabled Wireless Switch -- WWAN checkbox disabled -- was enabled,<br></div>
<div>no change<br></div>
<div> </div>
<div> </div>
<div>So it's not really something in the BIOS setup that the modem is<br></div>
<div>talking about here. It's actually just that BIOS has told the modem<br></div>
<div>(somehow) to put itself into airplane mode, and that is actually<br></div>
<div>controlled from the OS via special calls. These calls are usually<br></div>
<div>ACPI. On Linux, there are special drivers for various vendors<br></div>
<div>(hp-wmi, thinkpad-acpi, acer-laptop, etc) that do the same things,<br></div>
<div>but when the vendor updates their BIOS then the Linux drivers lag<br></div>
<div>behind.<br></div>
<div> </div>
<div>So my guess here is that even the BIOS setup doesn't affect<br></div>
<div>anything, Windows still has a driver that is poking values into the<br></div>
<div>BIOS/NVRAM on the laptop and the BIOS is still using those to<br></div>
<div>disable the WWAN card. The next step is to get ACPI dumps so that<br></div>
<div>kernel developers can try to update the Linux drivers. Filing a bug<br></div>
<div>on <a href="https://bugzilla.kernel.org/">https://bugzilla.kernel.org/</a> is probably the best way to do that.<br></div>
<div> </div>
<div> </div>
<div>Thanks for your help Dan. Bug filed here if anyone cares to track:<br></div>
<div><a href="https://bugzilla.kernel.org/show_bug.cgi?id=92101">https://bugzilla.kernel.org/show_bug.cgi?id=92101</a><br></div>
<div> </div>
<div> </div>
<div>Quick check, is 'dell-laptop' loaded for your machine? If not, can you<br></div>
<div>"modprobe dell-laptop" and then report the output of "rfkill list"?<br></div>
<div> </div>
<div> </div>
<div>Hmm it does change the output:<br></div>
<div> </div>
<div>(iraway@procyon) [~] $ sudo modprobe dell-laptop [sudo] password for<br></div>
<div>iraway: (iraway@procyon) [~] $ sudo rfkill list<br></div>
<div>1: phy0: Wireless LAN Soft blocked: no Hard blocked: no<br></div>
<div>2: hci0: Bluetooth Soft blocked: no Hard blocked: no<br></div>
<div>3: dell-wifi: Wireless LAN Soft blocked: no Hard blocked: no<br></div>
<div>4: dell-bluetooth: Bluetooth Soft blocked: no Hard blocked: no<br></div>
<div> </div>
<div> </div>
<div>Could you attach the files that 'acpidump > acpi.txt' and 'dmidecode ><br></div>
<div>dmi.txt' produce to the bug report?<br></div>
<div> </div>
<div> </div>
<div>Done<br></div>
<div> </div>
<div>IJR<br></div>
<div> </div>
</blockquote><div> </div>
<div>So... once the magic "DMS Set FCC Auth" command is sent to the<br></div>
<div>Dell-branded modem (as Sierra's GobiNet driver does), the modem can<br></div>
<div>directly go out of low-power mode:<br></div>
<div> </div>
<div>    $ sudo qmicli -d /dev/cdc-wdm1 --dms-get-operating-mode<br></div>
<div>    [/dev/cdc-wdm1] Operating mode retrieved:<br></div>
<div>        Mode: 'low-power'<br></div>
<div>        HW restricted: 'no'<br></div>
<div> </div>
<div>    $ sudo qmicli -d /dev/cdc-wdm1 --dms-set-fcc-authentication<br></div>
<div>    [/dev/cdc-wdm1] Successfully set FCC authentication<br></div>
<div> </div>
<div>    $ sudo qmicli -d /dev/cdc-wdm1 --dms-get-operating-mode<br></div>
<div>    [/dev/cdc-wdm1] Operating mode retrieved:<br></div>
<div>        Mode: 'online'<br></div>
<div>        HW restricted: 'no'<br></div>
<div> </div>
<div>This is already in libqmi git master.<br></div>
</blockquote><div> </div>
<div>Just pulled it down and did a build, after setting this I am able to connect. Can still connect after a warm boot, but to connect after a cold boot with  I have to stop ModemManager and NetworkManager, set the new command, then restart the services to get it to work. I assume at some point this could get worked into ModemManager?<br></div>
<div> </div>
<div>Thanks so much to you guys, it is amazing to have this working and my linux setup is now basically perfect. :)<br></div>
<div> </div>
<div>IJR<br></div>
<div> </div>
<div>p.s. the script I'm using to enable the modem is pretty simple but in case anyone else wants it to use with this build of qmicli:<br></div>
<div> </div>
<div>#!/bin/bash<br></div>
<div>QMICLI=/home/iraway/bin/qmicli<br></div>
<div> </div>
<div># ModemManager needs to be stopped to send theh FCC Authentication command<br></div>
<div># The NetworkManager applet in XFCE won't repopulate options until NetworkManager<br></div>
<div># is restarted as well, so we stop that too.<br></div>
<div>systemctl stop NetworkManager<br></div>
<div>systemctl stop ModemManager<br></div>
<div> </div>
<div># Send the new command using patched qmicli<br></div>
<div>$QMICLI -d /dev/cdc-wdm0 --dms-set-fcc-authentication<br></div>
<div> </div>
<div># Restart services<br></div>
<div>systemctl start ModemManager<br></div>
<div>systemctl start NetworkManager<br></div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
</body>
</html>