Skip to content

Instantly share code, notes, and snippets.

@faust93
Last active May 31, 2023 12:05
Show Gist options
  • Save faust93/5489381f41cb67a7048044c5bfb51638 to your computer and use it in GitHub Desktop.
Save faust93/5489381f41cb67a7048044c5bfb51638 to your computer and use it in GitHub Desktop.
Huawei ME906E hackintosh

Preamble

My Thinkpad X260 hackintosh has 10.14.6 running and almost everything works ok so far except Sierra EM7455 WWAN adapter. Guess I'm not the first one who faced this problem. Long story short - modem is able to detect a SIM card, successfully register itself on GSM network etc but for some reason unable to connect. It gives an ERROR and that's all. AT+CEER explains nothing and ADB feature seems disabled so it's impossible to debug it further. Btw it works pretty well in Linux.

I had spare HUAWEI ME906E M.2 WWAN card branded as HP LT4112 somewhere and decided to try it out. And of course got slapped by Lenovo BIOS white-list 'feature'. It was said to be removed in recent laprop models but looks like it's true for WAN slot only.

There were two options: Remove BIOS white-list by patching BIOS chip itself with external programmer or try to change USB VID/PID of the card to some of the white-listed ones. The first option was not my case as it turned out that X260 has WSON form-factor BIOS chip and my no-name SOIC clip won't work with it. I do not have an equipment needed to unsolder the chip and solder it back. So I've opted for the second.

Blueprint

  • Figure out whitelisted USB VID/PID
  • Patch firmware flasher binary with these values and flash the card

Whitelisted USB VID/PIDs

  1. Huawei ME906S:

VendorID/ProductID: 12D1/15C1

  1. Sierra EM7455 (Lenovo branded):

VendorID/ProductID: 1199/9079

So I've chosed the first one.

Patching firmware flasher binary

This step has to done in Windows either real installation or VirtualBox.

  1. Downlaod modem firmware updater from HP site (remember, I have HP branded card?). In my case I decided to go with FW version 11.503.00.09.00. ftp://ftp.hp.com/pub/softpaq/sp62001-62500/sp62480.exe
  2. Unpack received file using 7z to get a file named HP_lt4112_FW_11.503.00.09.00.exe
  3. Open the file in your hex-editor and look for the following block:
    <product product_id ="327680">
       <Vendor_NV>
            <nv id="50394">F0,03</nv>
            <nv id="50395">1D,55</nv>
            <nv id="50396">1D,58</nv>
            <nv id="50397">1D,50</nv>
            <nv id="50413">1</nv>
            <nv id="50414">0,1,0,0,0,0,0,0</nv>
       </Vendor_NV>

Replace it with:

    <product product_id ="327680">
       <Vendor_NV>
            <nv id="50394">D1,12</nv>
            <nv id="50395">68,15</nv>
            <nv id="50396">C1,15</nv>
            <nv id="50397">1A,1F</nv>
            <nv id="50413">1</nv>
            <nv id="50414">0,1,0,0,0,0,0,0</nv>
       </Vendor_NV>

Here we have changed HP's default USB VID/PID to HUAWEI ME906S ones

  1. Go on with the file and look for the following hex sequence:
66 8b 04 5a
66 3b 45 e6
0f 85 13 01
00 00

Replace it with:

66 8b 04 5a
66 3b 45 e6
90 90 90 90
90 90

Here we have disabled CRC check of the firmware blob. Without doing this installer will hang in "Detecting ports.." infinite loop or give you an Error: 18 or 255 or whatever else.

  1. Save the file and shutdown your laptop.
  2. Remove laptop's back cover, power it on and boot into your OS. Hotplug the modem and flash it using exe saved before.
  3. After firmware being flashed modem will up with changed USB VID/PID.

MacOS part of this hack is not covered here but perhaps you know what to do next to get modem up and running

03.01.21 faust93

@vebodev
Copy link

vebodev commented Sep 6, 2021

hi, any update on ME906 with macos kext?

@faust93
Copy link
Author

faust93 commented Sep 6, 2021

hi, any update on ME906 with macos kext?
hi, not sure about recent macos but on Mojave this works for me:
https://osxlatitude.com/forums/topic/8019-huawei-me906e-hp-lt4112-4g-modem-works-under-os-x/

@vebodev
Copy link

vebodev commented Sep 11, 2021

hi, any update on ME906 with macos kext?
hi, not sure about recent macos but on Mojave this works for me:
https://osxlatitude.com/forums/topic/8019-huawei-me906e-hp-lt4112-4g-modem-works-under-os-x/

As faust93's suggestion, I finally succeeded to make me906e working on Thinkpad X230 with an minipci-e to ngff-key-b adapter.
The quality of signal is quite good as two antenna attached.

@zzroman
Copy link

zzroman commented May 31, 2023

Good day! May You help me? I have newer firmware sp78935.exe HP_lt4112_FW_12.500.01.18.1803
I can't downgrade it, and after editing by Your instruction Windows says there's a problem with firmware file. Any ideas?
p.s. there's longer product id
</product> <product product_id ="327680"> <Vendor_NV> <nv id="50394">F0,03</nv> <nv id="50395">1D,8E</nv> <nv id="50396">1D,58</nv> <nv id="50397">1D,8D</nv> <nv id="50413">1</nv> <nv id="50414">0,1,0,0,0,0,0,0</nv> <nv id="50091">FF,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,03,01,07,05,00,00,00,00,00,00,00,00,00,00,00,00,FF,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,08,03,02,05,00,00,00,00,00,00,00,00,00,00,00,00,00,FF,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,20,05,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00</nv> <nv id="50371">1,0,0,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,14,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</nv> <nv id="50507">1</nv> </Vendor_NV>

@faust93
Copy link
Author

faust93 commented May 31, 2023

Good day! May You help me? I have newer firmware sp78935.exe HP_lt4112_FW_12.500.01.18.1803 I can't downgrade it, and after editing by Your instruction Windows says there's a problem with firmware file. Any ideas? p.s. there's longer product id </product> <product product_id ="327680"> <Vendor_NV> <nv id="50394">F0,03</nv> <nv id="50395">1D,8E</nv> <nv id="50396">1D,58</nv> <nv id="50397">1D,8D</nv> <nv id="50413">1</nv> <nv id="50414">0,1,0,0,0,0,0,0</nv> <nv id="50091">FF,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,03,01,07,05,00,00,00,00,00,00,00,00,00,00,00,00,FF,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,08,03,02,05,00,00,00,00,00,00,00,00,00,00,00,00,00,FF,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,20,05,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00</nv> <nv id="50371">1,0,0,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,14,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</nv> <nv id="50507">1</nv> </Vendor_NV>

Hi! Can't say anything for certain. It's not clear at which point you are getting error message. Is it fw update program complains about some error after launching or you were unable to launch it even because windows complains about problem with exe file?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment