You are not logged in.

#1 2018-12-30 15:46:48

fruitloop
Member
Registered: 2018-12-29
Posts: 2

LTE Modem - Microsoft Surface Go

Hi, I just installed Arch on my new Microsoft Surface Go with LTE. All in all a rather relaxed experience. Apart from the atheros driver - which needs to replaced as described in [1] - everything seems to work just fine.

My version of the Surface Go has the LTE Modem built in. I think I see that it kinda works, but I can't get it to actually work.

I have not yet found much about this problem since almost all modems in other devices use some /dev/ttyUSBsomething device which mine does not.

Here some details about my Setup:

# uname -a
Linux tyr 4.19.12-arch1-1-ARCH #1 SMP PREEMPT Fri Dec 21 13:56:54 UTC 2018 x86_64 GNU/Linux
# lsusb
Bus 002 Device 002: ID 045e:096e Microsoft Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0cf3:e302 Qualcomm Atheros Communications
Bus 001 Device 007: ID feed:6060
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    |__ Port 3: Dev 2, If 0, Class=Communications, Driver=cdc_mbim, 5000M
    |__ Port 3: Dev 2, If 1, Class=CDC Data, Driver=cdc_mbim, 5000M
    |__ Port 3: Dev 2, If 2, Class=Vendor Specific Class, Driver=, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 1: Dev 7, If 3, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 1: Dev 7, If 1, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 1: Dev 7, If 2, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 1: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 5: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 5: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
# ls /dev/ttyUSB*
zsh: no matches found: /dev/ttyUSB*

# ls /dev/cd*
/dev/cdc-wdm0

This is especially weird:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wwp0s20f0u3: <BROADCAST,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 8e:48:d4:ed:d6:a0 brd ff:ff:ff:ff:ff:ff
3: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether d8:c4:97:c4:dc:9f brd ff:ff:ff:ff:ff:ff
    inet 192.168.33.216/20 brd 192.168.47.255 scope global noprefixroute wlp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::dac4:97ff:fec4:dc9f/64 scope link 
       valid_lft forever preferred_lft forever
# dmesg|grep wwp
[   58.103343] cdc_mbim 2-3:1.0 wwp0s20f0u3: renamed from wwan0

# dmesg|grep wwan0
[   57.490142] cdc_mbim 2-3:1.0 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-3, CDC MBIM, 26:17:d0:00:3f:aa
[   58.103343] cdc_mbim 2-3:1.0 wwp0s20f0u3: renamed from wwan0

# dmesg|grep cdc_
[   57.332209] usbcore: registered new interface driver cdc_ncm
[   57.377257] usbcore: registered new interface driver cdc_wdm
[   57.489854] cdc_mbim 2-3:1.0: cdc-wdm0: USB WDM device
[   57.490142] cdc_mbim 2-3:1.0 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-3, CDC MBIM, 26:17:d0:00:3f:aa
[   57.490914] usbcore: registered new interface driver cdc_mbim
[   58.103343] cdc_mbim 2-3:1.0 wwp0s20f0u3: renamed from wwan0
[ 1509.679717]  intel_uncore [...] cdc_mbim [...] cdc_wdm [...] cdc_ncm [...]
[15055.107197]  intel_uncore [...] cdc_mbim [...] cdc_wdm [...] cdc_ncm [...]

To me it seems that *wwp0s20f0u3* is somehow the lte modem. However mbimcli gives me an error:

# mbimcli -d /dev/cdc-wdm0 --query-radio-state
error: couldn't open the MbimDevice: Failure

I found a post [2] that claims that for this type of card all that's needed to get a connection are two commands:

APN=some-apn-string mbim-network /dev/cdc-wdm0 start && dhcpd wwp0s20uf0u3

It seems to be possible to save the APN,APN_USER,APN_PASS into some profile file and pass it with `--profile` rather than set the variables in the same command.

If at all possible I like to avoid the network manager. For ethernet and wifi I use netctl and wifi-menu. some scripts to connect/disconnect are all i need.

I don't know if it makes any difference, I am using Sway/Wayland.

Hopefully this makes sense.

best regards
Roland

[1]: https://www.reddit.com/r/SurfaceLinux/c … pressions/
[2]: https://bugs.archlinux.org/task/46278

Offline

#2 2019-01-18 13:11:04

markfromarch
Member
Registered: 2019-01-18
Posts: 1

Re: LTE Modem - Microsoft Surface Go

Any luck with the LTE connection?

Can´t get it to work...but love to!

Even at jakeday´s GIT = no answer...

:-/

Best regards!

Mark

Offline

#3 2019-01-22 21:37:11

mrjnox
Member
Registered: 2019-01-22
Posts: 1

Re: LTE Modem - Microsoft Surface Go

Does it work with NetworkManager? That would help narrow down if the issue is in driver/firmware, or in the way the system is initializing the logical adapter.

Offline

Board footer

Powered by FluxBB