Closed Gottox closed 4 years ago
Thanks for testing! Time for some sketchy debugging of ordering.
Does it work if you try running open_xdatachannel.py
multiple times?
Does adding a delay help - say 20 seconds after UtaModeSetReq?
Does it work if you try running
open_xdatachannel.py
multiple times?
No change:
Does adding a delay help - say 20 seconds after UtaModeSetReq?
Nope.
I had some issues with the usb-mode switch too, Could it be an hardware issue? Also how do I find out the firmware version?
I've added some more stuff:
UtaModeSet
request now waits until it's actually completedrpc/rpc.py
My firmware version is 18500.5001.11.02.22.93
. I have booted the modem with Windows, which once it detected my carrier, flashed some supplemental NVRAM variables. But yours connected in USB mode, no?
After running the init code in rpc/rpc.py
, you could also try bringing up a PPP link - see the test.sh
and test.chat
provided up until 95e89c6
Firmware version: bytearray(b'18500.5001.00.01.20.86')
Unfortunately, I don't have windows on my notebook anymore. Is there a way to update it with linux?
@Gottox , There is tool that work for me on windows , they have linux version also .. https://github.com/projectceladon/tools you need first to disconnect the module from your device then pass firmware file to Downloadtool executable file included with this package after that connect the module to your device see this : https://whrl.pl/RfXQlT
@m7mdcc cool! I'm able to extract the *.flz
/*.fls
files from the Lenovo Download Page But I'm not sure how to install the using the tool.
When you reset the modem (eg via ACPI) it goes into bootloader mode for 5 sec and shows up as a USB device. 8086:07f5 if I recall correctly
Here be dragons.
root@rootkit:/opt/intel/platformflashtoollite/lib# ../bin/downloadTool /tool/18600.5001.00.35.00.29_5005.04_Secureboot.fls; ls /dev/bus/usb/001/
FLS Download Tool v.2.89 (FLS Download Library v.5.57)
Started on: Tue Jan 14 10:13:27 2020
18600.5001.00.35.00.29_5005.04_Secureboot.fls (PSI, SLB, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Code, Code, Code, Code, Code, Code, Code, Code, Code, Code, Code, Code, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, CodeCode) (NAND)
Booting '/tool/18600.5001.00.35.00.29_5005.04_Secureboot.fls', memclass: PSI
-> Please reboot your phone device <-
libusb: error [_get_usbfs_fd] File doesn't exist, wait 10 ms and try again
libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/019: No such file or directory
Error> [1578996810.992] libusb_open_wrapper:983: Error opening device (001/019) -4: Device disconnected
Error> [1578996810.992] GenericUSB_open:928: Could not open device 1 :'(
Error> [1578996810.992] GenericUSB_open:934: Error 2: No such file or directory
Error> Communication error 2. Line 937
Segmentation fault
001 002 003 004 005 006 007 008 009 010 011
Do you have 860 or 850 ?
for 850 go to : https://support.lenovo.com/us/en/downloads/DS503062 ..
try with only : ../bin/downloadTool /tool/pathtoflsfile
run the command before reset the module
I'm retrying that later with fedora instead of debian
@m7mdcc same with 850. I had no time to boot to fedora yet.
I modified the usb modeswitch script to only reset the modem:
diff --git a/xmm2usb b/xmm2usb
index 67a75ad..5327d77 100755
--- a/xmm2usb
+++ b/xmm2usb
@@ -30,15 +30,14 @@ for path in `find /sys/devices/pci0000:00 -name vendor`; do
modprobe acpi_call || \
die "Could not load acpi_call module. Is it missing?"
- printf "Disabling PCIe link...\n" >&2
- setpci -s "${bridge_id}" "CAP_EXP+10.w=0052" || \
- die "Could not run setpci"
+ #printf "Disabling PCIe link...\n" >&2
+ #setpci -s "${bridge_id}" "CAP_EXP+10.w=0052" || \
+ # die "Could not run setpci"
printf "%s" "${acpi_path}._RST" > /proc/acpi/call || \
die "Could not reset PCI"
echo "OK!"
-
exit 0
done
I'm not able to update the firmware atm. I think I need a windows box for that. will try that at the end of the week.
@Gottox , Sorry if that doesn't help you in your current build . but can you look here may its help ? https://www.quectel.com/UploadImage/Downlad/Quectel_WCDMA_UGxx_DownloadTool_Linux_User_Guide_V1.2.pdf
@Gottox, did you succeed in bringing it up in USB mode with the same SIM card?
Yes, but actually it took many reboots to do so.
And since VoidLinux updated NetworkManager to 1.22 I was unable to connect, but that looks like a different issue to me.
To answer @m7mdcc's question, it looks like the 860 one, at least the compatibility list on the lenovo page states the support for my hardware.
Just to make sure: The firmware update can be done plainly through USB? - I have a windows PC and an m.2 to usb connector that works with this particular card.
Hmm, yes, but it's not clear whether you can do that with that setup...
There is an MBIM command you can send to the modem via USB that will kick it into bootloader mode. ModemManager can send it. The Windows driver sends the equivalent RPC calls over PCI, then does the update via USB. But the Windows driver doesn't support the main modem in USB mode, as far as I know... so the updater /might/ insist on seeing it over PCI first. Or it might just accept it if it only sees it in bootloader mode.
Okay, I'm currently back in Ubuntu. Still unable to update the firmware. Currently downloadTool hangs:
@Gottox did you try that on windows setup ?
Just to make sure: The firmware update can be done plainly through USB? - I have a windows PC and an m.2 to usb connector that works with this particular card.
I'm doing this like that . run the command then plug the m.2 to usb adapter to your pc
Okay, I'm currently back in Ubuntu. Still unable to update the firmware. Currently downloadTool hangs.
In your situation i think there is driver whos take module within updating process
I tried it using a windows PE setup, this didn't work. I think I need a full installation.
Currently I don't have time to have the TP offline for half a day to set up windows. I think I'll do that at the beginning of February. Then I'll come back to this issue.
Okay, firmware is updated, but the problem persists:
sudo python3 rpc/rpc.py | grep Firmware
Firmware version: bytearray(b'18500.5001.03.01.20.85')
PEBCAK...
I...
I didn't disable the PIN on the card. :disappointed:
Thanks for your awesome work! Unfortunately I was unable to get the modem to work on my Thinkpad X1 Yoga 4th Gen.
dmesg
Console Output:
git diff