Microsoft Surface Go - USB-C to Ethernet Adapter Compatibility
-
I have a Microsoft Surface Go, and I was wondering if there was compatibility for it in the works; the only reason why I am asking is due to the code block down below.
I have tried:
- Kernel - 4.18.3 TomElliott 64
- Kernel - 4.18.3 TomElliott arm
- Kernel - 4.18.3 TomElliott arm64
- Boot Method - ipxe.efi
Should I try messing with the different boot files (i.e. undionly.kpxe), or is there someway that I can help a kernel update (based on the code block), or is there something in the works and it would be better if I just wait a few days/weeks?
I only have about two of these things (right now, at least), so building up two from scratch versus getting an image for one right now isn’t a complete hassle.
The Model is: JWL-00001 [3.0 USB-C to Ethernet Adapter]
db_root: cannot open: /etc/target
Starting logging: OK
Populating /dev using udev: udevd[2831]: error creating epoll fd: Function not implemented
done
Initializing random number generator... done.
No network interfaces found, your kernel is most probably missing the correct driver!
Please check your network setup and try again!
...
Verifying network interface configuration.......failed
No network interfaces found (verifyNetworkConnection)
...
-
Try
has_usb_nic=1
as a host kernel argument under the host settings. -
@ttrammell said in Microsoft Surface Go - USB-C to Ethernet Adapter Compatibility:
The Model is: JWL-00001 [3.0 USB-C to Ethernet Adapter]
Please help us figuring out which internal NIC chip is used in this adapter. Please send us a picture of the device IDs. Boot your Windows and open the device manager -> right click the ethernet adapter -> properties -> details
-
@Sebastian-Roth I can’t speak for this specific adapter, but when building the FOG kernel we do need to patch it for the new(ish) network adapters.
This one is from the wiki
drivers/net/usb/r8152.c
{REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07ab)} {REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07c6)}
I found another one during that nvme disk testing that is needed. I’d have to look back in my notes for the right code. Knowing the info you asked from the OP will allow us to include that driver in the FOS kernel.
-
I can’t get a picture right now, but there are only two under what @Sebastian-Roth asked for:
Surface Ethernet Adapter Properties
Hardware Ids
USB/VID_045E&PID_0927&REV_3100
USB/VID_045E&PID_0927
-
@ttrammell If you post a picture we will surely be able to add the correct driver (if existing) or patch in the device IDs as George said.
-
@ttrammell said in Microsoft Surface Go - USB-C to Ethernet Adapter Compatibility:
PID_0927
I’m pretty sure that was the ID I added when I was building the kernels over and over.
[edit] yes I found it: https://forums.fogproject.org/topic/12351/issue-imaging-with-surface-pro/9
So this needs to be added and FOS recompiled.
{REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x0927)}
-
@george1421 said in Microsoft Surface Go - USB-C to Ethernet Adapter Compatibility:
So this needs to be added and FOS recompiled.
I may be mistaken by what you are saying here, but I am not using FOS-- this is straight network connection.
Here’s the picture:
-
@ttrammell said in Microsoft Surface Go - USB-C to Ethernet Adapter Compatibility:
I may be mistaken by what you are saying here, but I am not using FOS-- this is straight network connection.
Sorry I should have a been a bit clearer on several points. Trying to do things quickly and communicate effectively are often at odds.
FOS is the customized version of linux that runs on the target computer to capture and deploy images to FOG. FOS is a sub-component of FOG.
Let me grab the latest FOS config file and I’ll compile a temporary FOS kernel you can use that will support this hardware. This is only temporary until the main line code has been updated.
-
ok here is the latest kernel based on 4.18.6 version of linux which contains the driver for your usb network adapter.
https://drive.google.com/open?id=1683LeBerB-aNwzWhC1WKNClLZkNsxHlI
- Download that file as bzImage4186 and save it on the fog server to /var/www/html/fog/service/ipxe
- Manually register this target system with FOG gui
- Go into the host record for that host and change the host kernel value to bzImage4186
- Now pxe boot the target computer and select compatibility testing from the FOG iPXE menu. It should now pass the network testing.
once you are comfortable with the new kernel, rename the old bzImage to something like bzImage.old and then rename bzImage4186 to bzImage so all systems will then use the updated kernel.
-
Sorry, I just now got around the checking it.
It works, but there’s a few extra steps I had to do to get it working.
# Move it up to the server scp C:\bzImage4186 root@127.0.0.1:/var/www/html/fog/service/ipxe/bzImage4186 # Log onto the server, and make it usable ... cd /var/www/html/fog/service/ipxe/ chmod +x bzImage4186 # Backup the old kernel files mv bzImage bzImage.bak mv bzImage32 bzImage.bak # Move bzImage4186 to a usable state so I can boot up the device mv bzImage4186 bzImage # This is just so I had bases covered cp bzImage bzImage32 # Boot the device, register it in FOG, overwrite the kernel host arguments like you said # then move everything back to the way it was rm bzImage32 mv bzImage bzImage4186 mv bzImage.bak bzImage mv bzImage32.bak bzImage32
This is just the recorded steps I took, but I can image it now, so thanks for the quick-fix @george1421!
-
@ttrammell said in Microsoft Surface Go - USB-C to Ethernet Adapter Compatibility:
cp bzImage bzImage32
Just be aware I only gave you the 64 bit kernel. So the step you did above will break a 32 bit computer.
If everything works OK with bzImage4186 you can leave it in the bzImage place. The only thing that is different is I added the microsoft nic. With the next release of the official FOG kernel they will add in the new Microsoft NIC.
-
@george1421 said in Microsoft Surface Go - USB-C to Ethernet Adapter Compatibility:
Just be aware I only gave you the 64 bit kernel. So the step you did above will break a 32 bit computer.
Gotcha.
If everything works OK with bzImage4186 you can leave it in the bzImage place. The only thing that is different is I added the microsoft nic. With the next release of the official FOG kernel they will add in the new Microsoft NIC.
I’ll leave it under bzImage4186 until the next release. We don’t have any other machine right now that uses a USB-C NIC Adapter, so it should be fine.