Sierra MC73xx working
-
Finally I can convert the Dell DW5808 into a Generic Sierra Wireless MC7355 to work with Windows 7.
Thanks to Phishfry and other web sites with a perl script to change the UDUSBCOMP to work in Ubuntu.
-
Here is the skinny. The Dell DW5808 (MC7355) module was locked in USBCOMP #9 which is MBIM only -No AT command port at all. This is the new method by which Windows 8.1 and 10 work. They flash your modem to only use MBIM effectivly locking you out of the module.
So Juancho had to not only switch his module from Dell VID+PID to Sierra VID+PID but also regain the AT console to do it.
Luckily one of the developers of Linux modem-manager has a perl script which can bring back the AT console.Here is how without installing Linux on host.
Setup Ubuntu USB Flash/Pen drive with persistent storage like Unetbootin offers. Run you disk and install the followingsudo apt-get install perl
sudo apt-get install libuuid-tiny-perl
sudo apt-get install libipc-shareable-perl
sudo apt-get install modem-manager-gui
sudo apt-get install puttySo first off you need to run networkmanager and modemmanager in debug mode:
https://www.freedesktop.org/wiki/Software/ModemManager/DebuggingThen run this script:
http://git.mork.no/?p=wwan.git;a=blob_plain;f=scripts/swi_setusbcomp.plHere are some supporting docs.
https://www.freedesktop.org/software/ModemManager/man/1.0.0/mmcli.8.html
https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/debugging-3g/modem-debugging-with-mmcliEven on other Sierra modems you get worked:
https://forum.sierrawireless.com/viewtopic.php?f=117&t=8863Different Modem same effects-different cure:
http://zukota.com/how-to-enable-at-command-and-diagnostic-ports-and-gps-for-sierra-wireless-em7345/This has exactly what is needed. Note EM7305 is the same firmware wise.
http://www.0xf8.org/2016/04/changing-dell-wireless-5809e-sierra-wireless-em7305-usb-composition-mbim-qmi-at-interface-nmea/Note: ModemManager and Networkmanager in debug mode might not be needed. We were trying to send the modem AT commands with mmcli and that required debug mode. Unfortunately it did not work as AT command console was not exposed. Ultimately it required the perl script. Here is sample command.
sudo perl swi_setusbcomp.pl –usbcomp=14Putty set to Serial and ttyUSB1. Putty requires sudo putty from terminal to work.
ModemManager GUI is useful in showing the mode the modem is in. For example MIBM was apparent without AT console.
From Juancho:
Maybe with Perl script and Putty is enough to do the conversión from Dell to Sierra Wireless.So the above post about bricking your module is now the new normal from Microsoft. MBIM only mode. Luckily Bjorn Mork and his magic perl script saves the day.
-
The reason I post this is the procedures are exactly the same for pfSense, FreeBSD and Windows. #14 USBCOMP works and as a bonus proves a dual configuration with DirectIP for FreeBSD/pfSense and QMI modes for Linux.
-
So I was in the middle of changing a DW5808 into a generic module when the laptop lost power. I got the VID successfully updated to 1199 but the PID is still 81A8… This means the drivers won't pick up the card as a valid combo to get me into a serial terminal to change the PID. Is there some way in Linux I can trick it into working so I can issue the PID change or is the card toast? Card is in USBcomp=6 right now if that changes anything, I see 4 interfaces exposed in windows but can't get drivers to load for them.
-
Ended up comparing the modules loaded with a 5808e in a USB carrier and manually installing the modules using modprobe. That exposed the /dev/ttyUSB0 through /dev/ttyUSB2, ttyUSB2 was the AT command interface so I was able to issue the AT!UDVID=9041 to fix. Runs like a champ now.
/sbin/modprobe cdc_wdm product=0x81a8 vendor=0x1199 /sbin/modprobe usbserial product=0x81a8 vendor=0x1199 /sbin/modprobe qmi_wwan product=0x81a8 vendor=0x1199 /sbin/modprobe qcserial product=0x81a8 vendor=0x1199
-
How are you guys connecting the mPCIe card to a host? Does a USB adapter work or do I need to find a mainboard that supports mPCIe to do these steps?
-
3g/4g modems almost all use the USB interface of Mini-PCI(e) so a USB adapter will work if you don't have a slot internally.
-
3g/4g modems almost all use the USB interface of Mini-PCI(e) so a USB adapter will work if you don't have a slot internally.
Thanks!
-
Thanks for these instructions! I also followed this post to re-flash the firmware to Sprint: https://forum.pfsense.org/index.php?topic=120614.0.
I had to run !BOOTHOLD via the AT interface prior to flashing the firmware to get the firmware to flash without an error.
-
I'm still having trouble - it appears the device is stuck in "Low Power Mode", similar to this post: https://sigquit.wordpress.com/2015/02/09/dell-branded-sierra-wireless-3g4g-modem-not-online/
The output of !PCINFO:
State: LowPowerMode
LPM force flags - W_DISABLE:0, User:0, Temp:0, Volt:0, BIOS:1, GOBIIM:0
W_DISABLE: 0
Poweroff mode: 0
LPM Persistent: 0Indicates the BIOS system is somehow converting the module to low power. Googling reveals linux can do this with it's ACPI modules by accident/bug:
https://lists.freedesktop.org/archives/libqmi-devel/2015-January/001084.htmlAnyone else struggling with this?
-
I've found with the DW5805 and DW5805e that even if you change the VID/PID to non-Dell configurations, they still need the FCC auth command to be sent before they will go out of low power mode. I've not found a way to send that command under FreeBSD. I'm currently using ModemManager on OpenWRT in a secondary atom box to do the 4G connections.
-
I think I found the key:
https://forum.sierrawireless.com/viewtopic.php?f=117&t=9771&sid=3c2d1cc46ccb965d2e37535a9ab142b1&start=15#p39184The PCFCCAUTH can only be changed in a special mode with OPENLOCK command. Trying to disable it via the AT console without OPENLOCK results in an error.
The older Sierra chips could be unlocked from here - https://github.com/bkerler/SierraWirelessGen. But it sounds like the algorithm is updated.
I think there is a tool out there that let's you modify these settings outside the AT interface. May be easier.
-
@juancho1972 . can you upload the whole process? I am facing the same problem.
-
@juancho1972 Yes, please show the process.
-
So MC7355 and EM7355, which one is better to use with OpenWRT?
-
Hmm, seems like spam but...
That is the same card effectively. The MC version is mPCIe and the EM is m.2.
Steve
-
@stephenw10 thanks
-
Is anyone able to get this to work on a DW5808 (MC-7355) in 2020?
I've been following the procedure outlined by user FranciscoFranco in forum post #17.
I've experienced that the procedure does not work in 2020.
I tried to perform the process using Ubuntu 19.10 on a 8GB bootable USB flash drive with 2GB of persistent memory space. I also tried using a Ubuntu 19.10 Virtual Machine inside VMware Workstation. Both setups yielded the same failures.
One of the first steps is to run networkmanager and modemmanager in debug mode:
see https://www.freedesktop.org/wiki/Software/ModemManager/Debugging
$> sudo /usr/sbin/ModemManager --debug
This process fails to complete. The screen scrolls with text for about 1 minute then stops and never completes - even after waiting/watching for an hour. If you perform a CTRL-C to stop the command, it stops with a message that it failed.
Since this is one the first steps in the process, the rest cannot be accomplished.- has anyone been able to get this to work on a DW5808 (MC-7355) in 2020?
- if not, why this would work in 2016 and not in 2020?
- do I need to use a 2016 version of Ubuntu for this to work?
Thanks for any updates on this procedure.
-
Do you have the error it actually shows?
Did you try modprobing the serial driver onto the device?
https://forum.netgate.com/post/677772 -
@stephenw10
No, I didn't try any modprobe commands.from: sudo /usr/sbin/ModemManager --debug
This is the last part of the output...says it didn't connect to the AT port and stops and waits, forever.ModemManager[5079]: <debug> [1595789997.248458] [plugin manager] task 0: min probing time elapsed
ModemManager[5079]: <debug> [1595789997.248676] [plugin Manager] task 0: still 1 running probes (0 active): ens33
ModemManager[5079]: <debug> [1595789997.248711] [plugin manager] task 0: no active tasks to probe
ModemManager[5079]: <debug> [1595789997.248745] [plugin manager] task 0,ens33: deferred task completed, no suggested plugin
ModemManager[5079]: <debug> [1595789997.248777] [plugin manager] task 0,ens33: finished in '2.502197' seconds
ModemManager[5079]: <debug> [1595789997.248943] [plugin manager] task 0,ens33: not supported by any plugin
ModemManager[5079]: <debug> [1595789997.248983] [device /sys/devices/pci0000:00/0000:00:11.0/0000:02:01.0] fully ignoring port 'net/ens33' from now on
ModemManager[5079]: <debug> [1595789997.249009] [plugin manager] task 0: no more ports to probe
ModemManager[5079]: <debug> [1595789997.249028] [plugin manager] task 0: finished in '2.502562' seconds
ModemManager[5079]: <info> [1595789997.249077] Couldn't check support for device '/sys/devices/pci0000:00/0000:00:11.0/0000:02:01.0': not supported by any plugin
ModemManager[5079]: <debug> [1595789997.249342] [plugin manager] task 1: min probing time elapsed
ModemManager[5079]: <debug> [1595789997.249390] [plugin Manager] task 1: still 2 running probes (1 active): cdc-wdm0, wws35u1c2i12
ModemManager[5079]: proxy configuration failed: closed
ModemManager[5079]: <debug> [1595790026.390983] (usbmisc/cdc-wdm0) error checking MBIM support: 'Transaction timed out'
ModemManager[5079]: <debug> [1595790026.391018] (usbmisc/cdc-wdm0) port is not MBIM-capable
ModemManager[5079]: [/dev/cdc-wdm0] channel destroyed
ModemManager[5079]: <debug> [1595790026.391300] [plugin manager] task 1,cdc-wdm0: found best plugin for port (Dell)
ModemManager[5079]: <debug> [1595790026.391498] [plugin manager] task 1,cdc-wdm0: finished in '31.644019' seconds
ModemManager[5079]: <debug> [1595790026.391536] [plugin manager] task 1,cdc-wdm0: found best plugin: Dell
ModemManager[5079]: <debug> [1595790026.391557] [plugin manager] task 1,wws35u1c2i12: deferred task completed, got suggested plugin (Dell)
ModemManager[5079]: <debug> [1595790026.391586] [plugin Manager] task 1: still 1 running probes (1 active): wws35u1c2i12
ModemManager[5079]: <debug> [1595790026.391663] [plugin manager] task 1,wws35u1c2i12: checking with plugin 'Dell'
ModemManager[5079]: <debug> [1595790026.391712] (Dell) [wws35u1c2i12] probing deferred until result suggested
ModemManager[5079]: <debug> [1595790026.391748] [plugin manager] task 1,wws35u1c2i12: completed, got suggested plugin (Dell)
ModemManager[5079]: <debug> [1595790026.391768] [plugin manager] task 1,wws35u1c2i12: finished in '31.644749' seconds
ModemManager[5079]: <debug> [1595790026.391792] [plugin manager] task 1,wws35u1c2i12: best plugin matches device reported one: Dell
ModemManager[5079]: <debug> [1595790026.391810] [plugin manager] task 1: no more ports to probe
ModemManager[5079]: <debug> [1595790026.391827] [plugin manager] task 1: finished in '31.644885' seconds
ModemManager[5079]: <info> [1595790026.391870] [device /sys/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1] creating modem with plugin 'Dell' and '2' ports
ModemManager[5079]: <debug> [1595790026.391934] Dell-branded generic modem found...
ModemManager[5079]: <warn> [1595790026.399711] Could not grab port (usbmisc/cdc-wdm0): 'Cannot add port 'usbmisc/cdc-wdm0', unsupported'
ModemManager[5079]: <debug> [1595790026.400072] (wws35u1c2i12) type 'net' claimed by /sys/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1
ModemManager[5079]: <debug> [1595790026.400336] Modem (Dell) '/sys/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1' completely disposed
ModemManager[5079]: <warn> [1595790026.401515] Couldn't create modem for device '/sys/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1': Failed to find primary AT portThen I did a CTRL-C
^CModemManager[5079]: <info> [1595790115.488383] Caught signal, shutting down...
ModemManager[5079]: <debug> [1595790115.488753] Stopping connection in object manager server
ModemManager[5079]: <info> [1595790115.497328] ModemManager is shut down
ModemManager[5079]: <debug> [1595790115.497632] disposing MMSleepMonitor singleton (0x5614725aba90)
ModemManager[5079]: <debug> [1595790115.497964] [sleep-monitor] dropping systemd sleep inhibitor
eric@ubuntu-vm:~$ ^C
eric@ubuntu-vm:~$