Open kernelnick opened 4 years ago
Same for X1 Yoga 4th Gen running Void Linux.
Works on Thinkpad X1 Carbon 7th gen with Fibocom L850-GL. I'm running KDE Neon (User edition)
Works on Thinkpad X1 Carbon 7th gen with Fibocom L850-GL. I'm running KDE Neon (User edition)
Hi @marcvernet I am curious, I also have a X1 Carbon Gen 7.
What did you get with lsusb
, I had :
root@dka:/home/kopax/workspace/tmp/xmm7360# sudo ./xmm2usb
Found XMM7360 modem at 0000:02:00.0 (\_SB_.PCI0.RP01.PXSX)
Parent port is at 0000:00:1c.0
Disabling PCIe link...
OK!
root@dka:/home/kopax/workspace/tmp/xmm7360# lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 04f2:b67c Chicony Electronics Co., Ltd
Bus 001 Device 006: ID 17ef:a351 Lenovo
Bus 001 Device 003: ID 04b4:0510 Cypress Semiconductor Corp.
Bus 001 Device 002: ID 1af3:0001
Bus 001 Device 005: ID 8087:0aaa Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
While the README says:
After 5-10 seconds, your new USB device should appear.
Nothing appear for me, I am on cinnamon where should I expect?
My modem came up initially as a 3x ACM + 3x NCM USB device
That doesn't really is an example of expected result
marcvernet@marcvernet-ThinkPad-X1-Carbon-7th:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 06cb:00bd Synaptics, Inc.
Bus 001 Device 002: ID 04f2:b67c Chicony Electronics Co., Ltd
Bus 001 Device 014: ID 2cb7:0007
Bus 001 Device 004: ID 8087:0aaa Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
However, KInfocenter reports the modem as MBIM + 3 CDC-ACM after I had issued the AT commands in the README.
Also, I had issues with suspend/resume so I've now compiled and installed the kernel module version https://github.com/juhovh/xmm7360_usb
marcvernet@marcvernet-ThinkPad-X1-Carbon-7th:~$ lsusb Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 06cb:00bd Synaptics, Inc. Bus 001 Device 002: ID 04f2:b67c Chicony Electronics Co., Ltd Bus 001 Device 014: ID 2cb7:0007 Bus 001 Device 004: ID 8087:0aaa Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
We seems to have almost the same, my lenovo device as been trade to Synaptics, that's a good news, because I don't think it is the modem.
However, KInfocenter reports the modem as MBIM + 3 CDC-ACM after I had issued the AT commands in the README.
I have installed kinfocenter
, run the sudo ./xmm2usb
and nothing appear in the kinfo center:
I had issued the AT commands in the README.
I did not had the opportunity to issues AT
commands, because sudo screen /dev/ttyACM0
does not find the file.
Also, I had issues with suspend/resume so I've now compiled and installed the kernel module version https://github.com/juhovh/xmm7360_usb
I could have a try, how did you compiled & installed that module ?
Also, I had issues with suspend/resume so I've now compiled and installed the kernel module version https://github.com/juhovh/xmm7360_usb
I installed it as per the README.
However, I did have issues with a missing certificate 'signing_key.pem' which was preventing me from installing. I created this in /usr/src/linux-headers-5.0.0-32-generic/certs.
I could then modprobe the module.
It certainly works better in that the modem is now available instantly when I boot the laptop but it doesn't always return when coming out of suspend.
I have tried to follow the instruction in the README, and I still can't issue AT
commands.
root@dka:/home/kopax/workspace/tmp/xmm7360_usb# make
make -C /lib/modules/4.19.0-6-amd64/build M=/home/kopax/workspace/tmp/xmm7360_usb modules
make[1]: Entering directory '/usr/src/linux-headers-4.19.0-6-amd64'
sudo Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory '/usr/src/linux-headers-4.19.0-6-amd64'
root@dka:/home/kopax/workspace/tmp/xmm7360_usb# sudo make install
make -C /lib/modules/4.19.0-6-amd64/build M=/home/kopax/workspace/tmp/xmm7360_usb modules_install
make[1]: Entering directory '/usr/src/linux-headers-4.19.0-6-amd64'
INSTALL /home/kopax/workspace/tmp/xmm7360_usb/xmm7360_usb.ko
DEPMOD 4.19.0-6-amd64
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-headers-4.19.0-6-amd64'
root@dka:/home/kopax/workspace/tmp/xmm7360_usb# sudo modprobe xmm7360_usb
root@dka:/home/kopax/workspace/tmp/xmm7360_usb# sudo screen /dev/ttyACM0
[screen is terminating]
Does that means that my fibocom will not work ?
Also, the first think I have done when receiving the x1c7 before doing this was to upgrade my BIOS. Some people on IRC says that it has nothing to do but just to be sure, did you upgrade your BIOS or did you do this straight after receiving the x1c7?
I'm not sure why it's not working for you. I can confirm that my BIOS is the latest 1.22.
I'm not sure if this is relevant but I did not make the acpi_call module but installed it from a repo instead sudo apt install acpi-call-dkms
I'm not sure why it's not working for you. I can confirm that my BIOS is the latest 1.22.
Thanks a lotr for that information, I am also using 1.22
from 2019-10-04, so that's not the issue.
I'm not sure if this is relevant but I did not make the acpi_call module but installed it from a repo instead
sudo apt install acpi-call-dkms
I used to install acpi-call-dkms
but wasn't sure if working, I will try now again with it.
Did you modify anything in the BIOS except disabling secure boot?
The only other thing I changed in the BIOS was to set the sleep mode to LINUX.
Using acpi-call-dkms
does not help the device getting recognized by USB.
You did not have to disable secure boot? Because I was having an issue with it when using lcpi_call
, some not recognized key.
Then I assume it can't work for mine, I will open the laptop to take a pictures of the M2 card. If you ever get the occasion to see the inside, could you do the same please ?
Yes, I meant in addition to disabling secure boot.
Sure, I'll take a picture for you...
Sure, I'll take a picture for you...
Thanks a lot, that's not only for me, that's for people with the same hardware so they can also troubleshoot, it's only 5 screw to open the bottom, this is mine:
I am just thinking but how can I be sure that the card was working? Perhaps it's a factory issue I have with the hardware and I only need to return to lenovo. How can I be so sure that it should work?
Perhaps there is an issue with your card. Can you boot into windows to see if it works?
I can format back to windows =/ Should I ?
Only you can answer that..... But you need to find out if the card is actually working.
We seem to have the same hardware and it works for me. However, I have a more recent linux kernel.
Only you can answer that..... But you need to find out if the card is actually working.
I am preparing a bootable key with windows 10, I'll let you know
We seem to have the same hardware and it works for me. However, I have a more recent linux kernel.
What kernel version are you using? How do you know my kernel version?
Just to chime in, in Windows every time different a different sim card in it seemed to reflash the modem each time (possibly for setting the LTE bands of that particular operator for optimisation?). Maybe there is some initial activation done in Windows too.
On Tue, 29 Oct 2019 at 21:37, Dimitri KOPRIWA notifications@github.com wrote:
I can format back to windows =/ Should I ?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/abrasive/xmm7360/issues/10?email_source=notifications&email_token=AF7UH72F4LPHV3W56ANMXSDQRAG4ZA5CNFSM4JFWJUD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECQAKDI#issuecomment-547357965, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF7UH764ILQJOTJD4E7KNTTQRAG4ZANCNFSM4JFWJUDQ .
What kernel version are you using? How do you know my kernel version?
I can see your kernel version in the output from the make command you posted earlier. My kernel is 5.0.0-32.
I can also confirm that I've never activated or used the modem under windows. I removed the FCC lock using the instructions in the README.
I can see your kernel version in the output from the make command you posted earlier. My kernel is 5.0.0-32.
I have tried to upgrade my kernel using Buster backports to v5 and that didn't help
I can also confirm that I've never activated or used the modem under windows. I removed the FCC lock using the instructions in the README.
Did you use windows to remove the FCC Lock
? I have not done anything for that, I tought you needed to have the device detected first. Perhaps this is the cause of my device not being detected?
It's not why your device is not being detected. Using the instructions...
I switched the modem to USB mode
Issued AT commands to switch to MBIM mode (The modem then shows up in network manager)
Issued AT commands to remove FCC lock (enabled me to create an LTE connection)
All of this was done in linux. The laptop has never run Windows.
I did the same think but fail to switch to USB mode.... There's something different with my X1C7 or the WWAN card is broken even on windows, I am testing it now.
How can I test the USB detected working? Can you screenshot the relevant part in KInfoCenter so I have a valid expected result?
Once you've put it into MBIM mode it should show up like this...
Thanks a lot, I was able to solve it by restarting from scratch and finally git the X1 Carbon Gen 7 with WWAN!
Works on my P53s (20N6CTO1WW, L850-GL). Had to remove the FCC lock as per instructions provided. Thanks a lot for your work on this. I was disappointed when I couldn't get the WWAN working on my new laptop, but now I'm happy again!
Works on my T480s (20L7CT01WW) running Arch. Thank you for your great work!
I did not had the opportunity to issues
AT
commands, becausesudo screen /dev/ttyACM0
does not find the file.
@kopax How did you manage to fix that? I have the same issue.
@mikail0 I had to reformat and be more careful on all steps and I finally get through.
@mikail0 I had to reformat and be more careful on all steps and I finally get through.
Thank you @kopax Did you use https://github.com/xmm7360/xmm7360-usb-modeswitch or https://github.com/juhovh/xmm7360_usb
and on which distro?
I have used this https://github.com/juhovh/xmm7360_usb since it persist after reboot,
My distro is Debian, it work with debian latest. You are welcome.
Works on ThinkPad X280 (20KF-CTO1WW, L850-GL)
It also works on FreeBSD with translated following commands (in my case)
# pciconf -wh pci0:0:29:0 0x50 0x0052
# kldload acpi_call (sysutils/acpi_call)
# acpi_call -p '\_SB_.PCI0.RP09.PXSX._RST'
(MBIM is not supported on FreeBSD yet, so I use ppp
to connect btw)
Thank you for the great information! I really appreciate it.
hey @kikuchan how did you get the modem to work on FreeBSD? I have to admit i'm struggling, maybe because FreeBSD isn't really my thing. Could you share your config files, and maybe a short description of the whole process? Tried to pciconf my card but it keeps saying that the write failed 🤷
@mlukow Hi. I'm not sure it works for you, but I'll try the best.
pciconf -l | grep 0x7360
It will print something like:
none4@pci0:61:0:0: class=0x0d4000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x7360 subvendor=0x8086 subdevice=0x0020
In this case, the value 61 denotes pci bus.
pciconf -lB
You'll find something like:
pcib3@pci0:0:29:0: class=0x060400 rev=0xf1 hdr=0x01 vendor=0x8086 device=0x9d18 subvendor=0x17aa subdevice=0x2256
bus range = 61-61
window[1c] = type I/O Port, range 16, addr 0xf000-0xfff, disabled
window[20] = type Memory, range 32, addr 0xdc000000-0xdc0fffff, enabled
window[24] = type Prefetchable Memory, range 64, addr 0xfffffffffff00000-0xfffff, disabled
The bus range
contains 61, so it means the device must be your modem's parent device.
Write down its address pci0:0:29:0
.
pciconf
pciconf -wh <the_address> 0x50 0x0052
It disables PCIe link (according to the xmm2usb
:smiley:)
I'm sorry I don't know how to find it precisely, but I hope acpidump -dt
helps.
Some devices have a function _RST
, one of them must be the one.
acpi_call
acpi_call -p <the_path>
After a few seconds, umodem
s appear in /var/log/messages
, if everything goes correct.
Jul 13 19:21:19 xxx kernel: ugen0.11: <vendor 0x8087 product 0x07f5> at usbus0
Jul 13 19:21:20 xxx kernel: ugen0.11: <vendor 0x8087 product 0x07f5> at usbus0 (disconnected)
Jul 13 19:21:27 xxx kernel: ugen0.11: <Fibocom MBIM + 3 CDC-ACM> at usbus0
Jul 13 19:21:27 xxx kernel: umodem1 on uhub0
Jul 13 19:21:27 xxx kernel: umodem1: <CDC ACM> on usbus0
Jul 13 19:21:27 xxx kernel: umodem1: data interface 3, has CM over data, has break
Jul 13 19:21:27 xxx kernel: umodem2 on uhub0
Jul 13 19:21:27 xxx kernel: umodem2: <CDC ACM> on usbus0
Jul 13 19:21:27 xxx kernel: umodem2: data interface 5, has CM over data, has break
Jul 13 19:21:27 xxx kernel: umodem3 on uhub0
Jul 13 19:21:27 xxx kernel: umodem3: <CDC ACM> on usbus0
Jul 13 19:21:27 xxx kernel: umodem3: data interface 7, has CM over data, has break
I hope it works on your side. Good luck!
whoa, amazing @kikuchan, thanks for your time :-) was just wondering how to figure out what to acpi_call
. The thing is that my acpidump doesn't show anything worthwhile (no RST or anything). I booted into live ubuntu and ran the original xmm2usb, looks like the method name's supposed to be \_SB_.PCI0.RP01.PXSX
, but when i call it, it says it can't set property 0 or something similar 🤔
@mlukow
https://github.com/xmm7360/xmm7360-usb-modeswitch/blob/5ebf6862c1331482f13471d9257c4d8fbb01f811/xmm2usb#L37
As you can see, it just appends ._RST
to ${acpi_path}
when executing the ACPI, so I thought it would be in the output of acpidump -dt
.
But you're right, if you can ran Ubuntu and the original xmm2usb command, you can simply use the output of them.
In your case, acpi_call -p '\_SB_.PCI0.RP01.PXSX._RST'
would be the one.
If you still get an error, let's make sure the original xmm2usb works properly on your device...
Hi all,
Not sure if helpful for anyone
I can confirm that this currently works on: Carbon X1 Gen 6 20KH-CT01WW (Fibocom L850-GL) Running Arch, just followed readme (except acpi_call was in repos, so just installed from there)