Jump to content
OSXnoob

DW5809e: how can i use the WWAN?

Recommended Posts

DW5809e is Sierra Wireless 4G module model EM7305 (fitted with a Qualcomm chipset).

DW5809e.jpg

 

Refer to the exisiting threads in this section that discuss the EM73xx / EM7305 / DW5809 (and others) module.

Share this post


Link to post
Share on other sites

I have installed a kext in SLE

under system info is the name of the wwan card..

But by network is nothing..

 

Here are some pictures..

The picture with the kext... this I have copy in SLE

Share this post


Link to post
Share on other sites

No modem software means it's not fully enabled. Make sure the Legacy_Sierra_QMI kext you use is based on the macOS Sierra version of CellPhoneHelper, not a version from a previous OS X release. The kext posted by Skvo in May 2015 was of Yosemite origin... You run macOS Sierra, right?

Share this post


Link to post
Share on other sites

Skvo's thread clearly indicates:

"I did Legacy collaboration with the driver CellPhoneHelper.kext

Legacy_Sierra_QMI.kext for OS X 10.10.x"

 

You have to look into the kext he posted and apply a similar patch to macOS Sierra's CellPhoneHelper kext. Apple has a tendency to modify kexts related to WWAN modules, USB or Bluetooth from one OS X/macOS version to another... In particular, you'll find the syntax used in the Info.plist file differs and that renders patches or patched kexts for a given version unusable in the next one.

 

In the specific case of CellPhoneHelper kext, if you look at the various hardware profiles listed in the Info.plist, you may notice the following:

Yosemite 10.10 version:

<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBMergeNub</string>
<key>IOClass</key>
<string>AppleUSBMergeNub</string>
<key>IOProviderClass</key>
<string>IOUSBDevice</string>

 or

<key>OSBundleLibraries</key><dict>
<key>com.apple.driver.AppleUSBMergeNub</key>
<string>2.5.7</string>
<key>com.apple.iokit.IOUSBFamily</key>
<string>2.5.7</string>

`

Sierra 10.12 version:

<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBHostMergeProperties</string>
<key>IOClass</key>
<string>AppleUSBHostMergeProperties</string>
<key>IOProviderClass</key>
<string>IOUSBHostDevice</string>

 or

<key>OSBundleLibraries</key>
<dict>
<key>com.apple.driver.AppleUSBHostMergeProperties</key>
<string>1.0</string>
<key>com.apple.iokit.IOUSBHostFamily</key>
<string>1.0.1</string>

`

If you have the wrong syntax or wrong references, the kext/patch will not work. This is why Skvo's Yosemite kext cannot work under El Capitan or Sierra.

Share this post


Link to post
Share on other sites

I compared OSBundleLibraries part from CellPhoneHelper from my HS system with that in your kext. They are same.

<key>OSBundleLibraries</key>
<dict>
<key>com.apple.driver.AppleUSBHostMergeProperties</key>
<string>1.0</string>
<key>com.apple.iokit.IOUSBHostFamily</key>
<string>1.0.1</string>
<key>com.apple.kpi.iokit</key>
<string>8.0</string>
<key>com.apple.kpi.libkern</key>
<string>9.0.0</string>
</dict>
<key>OSBundleRequired</key>
<string>Root</string>

Network/WWAN in System Information is empty and there is nothing about this card in USB section.

 

If I add USBInjectAll.kext with kext you posted I am getting this:

Dell Wireless 5809e Gobi™ 4G LTE Mobile Broadband Card:


  Product ID: 0x81b1
  Vendor ID: 0x413c  (Dell Inc.)
  Version: 0.06
  Speed: Up to 480 Mb/sec
  Manufacturer: Sierra Wireless, Incorporated
  Location ID: 0x14800000 / 2
  Current Available (mA): 500
  Current Required (mA): 500
  Extra Operating Current (mA): 0

And this

WWAN Information:


  Dell_Wireless_5809e_Gobi____4G_:
  Device Version Number: 6
  idProduct: 0x81b1
  idVendor: 0x413c
  locationID: 0x14800000 @ 0
  Modem Software: Unknown
  Network Name: Unknown
  WWAN_TYPE: GSM

I am confused. OSBundleLibraries match, and 0x413c is 16700 as referenced by idVendor.

 

I am sorry if i am missing something obvious.

Share this post


Link to post
Share on other sites

Forget the OSBundleLibraries part. This was mentioned alongside CFBundleIdentifier in order to highlight differences in kexts between 2 x versions of OS X in terms of kext name. These are just 2 x sections of kext Info.plist file where the kext name is clearly & directly referred.

 

Now, I've never possessed such card, so no way for me to test a patch or confirm if Skvo's Yosemite patch still works in newer OS X/macOS versions. You'd have to try and contact him direct but he's not been around for over a year now... Or send me a card to test.

 

All I can say now is this:

  1. if you see your card under the USB tree, it's a good start; at least the card is detected by the OS.
  2. you have to patch your 10.13 CellPhoneHelper kext (or add the patch to FakeSMC) according to a manner similar to what Skvo did for Yosemite but adjusted for High Sierra's own kext.
  3. once you've added your patch, you have to repair kexts permissions and rebuild your cache, then reboot.
  4. you have to initialise the card in QMI mode through AT commands, as described in Skvo's thread (linked above).

 

Building on Skvo's original patch, I would say that the patch for High Sierra is as follows (within a IOKitPersonalities section, either in CellPhoneHelper or in FakeSMC):

<key>0x0413c/0x81b1 DW5809e (Sierra Wireless EM7305) 4G/LTE Modem</key>
<dict>
       <key>CFBundleIdentifier</key>
       <string>com.apple.driver.AppleUSBHostMergeProperties</string>
       <key>IOClass</key>
       <string>AppleUSBHostMergeProperties</string>
       <key>IOProviderClass</key>
       <string>IOUSBHostDevice</string>
       <key>IOProviderMergeProperties</key>
       <dict>
              <key>DeviceModemOverrides</key>
              <dict>
                     <key>ConnectionPersonality</key>
                     <string>Sierra GSM Personality</string>
                     <key>ConnectionScript</key>
                     <string>WWAN.ccl</string>
                     <key>DeviceContextID</key>
                     <string>1</string>
                     <key>DeviceModel</key>
                     <string>GSM</string>
                     <key>DeviceVendor</key>
                     <string>Sierra Wireless</string>
              </dict>
              <key>DevicePPPOverrides</key>
              <dict>
                     <key>LCPMTU</key>
                     <integer>1450</integer>
              </dict>
              <key>InfoCommands</key>
              <dict>
                     <key>ATCommands</key>
                     <dict>
                            <key>DirectoryNumber</key>
                            <string>+cnum</string>
                            <key>IMEI</key>
                            <string>+cgsn</string>
                            <key>IMSI</key>
                            <string>+cimi</string>
                            <key>Manufacturer</key>
                            <string>+cgmi</string>
                            <key>Model</key>
                            <string>+cgmm</string>
                            <key>ModemSW</key>
                            <string>+cgmr</string>
                            <key>Serial#</key>
                            <string>+gsn</string>
                     </dict>
                     <key>HiddenProperties</key>
                     <dict>
                            <key>CommandPortBaseName</key>
                            <string>wwan</string>
                            <key>ControlPortBaseName</key>
                            <string>wwan</string>
                            <key>DataPortBaseName</key>
                            <string>wwan</string>
                            <key>StatusType</key>
                            <string>CellPhoneGSM</string>
                     </dict>
              </dict>
              <key>Initializing</key>
              <true/>
              <key>InterfaceMapping</key>
              <dict>
                     <key>0</key>
                     <integer>wwanDM</integer>
                     <key>2</key>
                     <integer>wwanGPS</integer>
                     <key>3</key>
                     <integer>wwan</integer>
              </dict>
              <key>WWAN</key>
              <true/>
       </dict>
       <key>bcdDevice</key>
       <integer>6</integer>
       <key>idProduct</key>
       <integer>33201</integer>
       <key>idVendor</key>
       <integer>16700</integer>
</dict>

But, as stated above, I've no hardware and no way to verify this. You'll have to do the hard work... Sorry.

 

In case you ask, you set the card's USB composition to QMI mode through a direct (serial) connection through Terminal or putty and by issuing the relevant AT command. In Skvo's example, QMI mode is set when USBCOMP(osition)=6. You therefore have to issue the AT command that sets this: at!udusbcomp=n where n is the value that corresponds to QMI mode (6 in Skvo's example). To check the active mode, issue the AT command at!udusbcomp?. To check the possible values applicable to the command, type at!udusbcomp=?. According to the literature I read, you should begin your card settings session by the commands atz (good old modem reset to default profile) and at!entercnd="A710" before anything else. Once you've set the QMI mode, reset the card through an at!reset command.

https://techship.com/faq/category/cellular-modules-sierra-wireless/

http://www.embeddedpi.com/documentation/3g-4g-modems/raspberry-pi-sierra-wireless-mc7304-modem-qmi-interface-setup

https://www.computerhope.com/atcom.htm

 

God, haven't played with AT modem commands for 20 or 25 years !!! In that prehistoric time when 33.6k or 56k modems were all you got for dial-up access...

Share this post


Link to post
Share on other sites

HI Herve,

 

ive got the same LTE Card DW5809e and i can confirm that the text snippet you posted doesnt work. I cant use the at commands, because there no tty device for the wwan.. just for bluetooth.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×