The USB vendor ID indicates a Kontron/ICS Advent/CoreChips product.
CoreChips has a SR9700 network adapter chip, but the product id being 0x9702 instead of 0x9700 suggests this might be a different version of the chip. Or it might be the product ID used to indicate that the device is in "USB storage" mode.
This Chromium OS bug report looks very similar to your case:
https://bugs.chromium.org/p/chromium/issues/detail?id=447045
Try running this command as root:
usb_modeswitch -v 0fe6 -p 9702 -K
This tells usb_modeswitch
to send a sequence of two SCSI commands to the "USB storage device": the first command is "allow media removal", the second is "eject media". This is what some mode-switching USB devices use as an indication that the Windows driver installation kit is not needed any more, and the real functionality of the device can be revealed.
Once you've done that, try the inxi -nxxx
command again. Has the class-ID: 0806
part changed to something else, perhaps to class-ID: 0206
(meaning an Ethernet network device)? Has any other information changed?
The next problem could be that the sr9700
driver module will not recognize the product ID 9702, as it expects only product ID 9700. When the device switches to the actual network interface mode, it might or might not change its ID. If the product ID changes to 9700, you'll only need the usb_modeswitch part.
But if the product ID remains 9702 also after the modeswitch, you could try this:
modprobe sr9700
echo "0fe6 9702" > /sys/bus/usb/drivers/sr9700/new_id
If the chips with product ID 9702 will work identically to chips with product ID 9700, this might work. But if there are differences, the driver will most likely not work correctly. You might see errors in dmesg
output.
This discussion suggests this approach might not work: https://www.phoronix.com/forums/forum/hardware/general-hardware/44256-usb-ethernet-adaptor-0fe6-9702-kontron-ics-advent?103621-USB-gt-Ethernet-adaptor-(0FE6-9702-Kontron-ICS-Advent)=
However, it refers to an earlier dm9601
driver; you might have better luck with the sr9700
driver.
If this works, then to make this configuration persistent, you would have to do two things:
- Add configuration to trigger
usb_modeswitch
with the appropriate options when a "USB storage" (pre-modeswitch) device with vendor ID 0fe6 and product ID 9702 appears. This might be achieved with a udev rule similar to what /lib/udev/rules.d/40-usb_modeswitch.rules
(or a similar file in your distro) contains, plus a configuration file named /etc/usb_modeswitch.d/0fe6:9702
with the following contents:
# ICS Advent/CoreChips SR9700 v2 USB ethernet NIC
StandardEject=1
Depending on what exactly happens to the USB identifiers of the device when the mode-switch is triggered, you might want to add some options here to allow usb_modeswitch
to verify the switching is successfully achieved. See here for more information on configuration file parameters for usb_modeswitch
.
- Add configuration to load the
sr9700
network driver and feed it the new vendor/product ID pair, either pre-emptively at system start-up, or whenever the post-modeswitch device appears. This could be achieved with a /etc/modprobe.d/usb-nic-sr9702.conf
file with the following contents:
alias usb:v0FE6p9702d*dc*dsc*dp*ic*isc*ip*in* sr9700
install sr9700 /sbin/modprobe --ignore-install sr9700; /bin/echo "0fe6 9702" > /sys/bus/usb/drivers/sr9700/new_id