Skip to content

Alternative network adapters

olli991 edited this page Feb 19, 2021 · 1 revision

The DUB-E100 can be hard to find in the correct revision, particularly in Australia.

As such I went hunting for other alternatives. In the log files copied off the unit in green screen I saw reference to the other ethernet drivers and the usblauncher tool in charge of associating drivers to USB devices.

I'd recently updated my firmware to 1367 so still had the firmware pack for that. A grep on the entire SD card revealed usblauncher was in the efs-system.img files. I didn't have much luck finding any way to mound this file as a loop filesystem, however eventually figured I could just look at it with a hex editor. It's pretty easy to manually extract files, just search for \x00\x00 and there it is in plain text after a bit of hex muck (presuably file modes etc). Copy-paste out the right bit and there's the file: usblauncher.lua

--[[
-- usblauncher replaces: mcd for mounting filesystems on USB devices;
-- enum-devices and enum-usb for starting USB drivers;
-- usbpub for publishing device, driver, and mount PPS objects
os.execute'slay mcd'
os.execute'slay enum-devices'
os.execute'slay enum-usb'
os.execute'slay usbpub'
--]]

--[[
Host_Stack = {
	cmd  = 'io-usb -cvvv  -domap4430-mg ioport=0x4a0ab000,irq=124,verbose';
	path = '/dev/otg/io-usb';
 }

Device_Stack = {
	cmd  = 'io-usb-dcd -vvv -d usbumass-omap4430-musbmhdrc ioport=0x4a0ab000,irq=124,verbose';
	path = '/dev/otg/io-usb-dcd';
}
--]]
--[[
MirrorLink = {
	version = 0x0101;
	vendor_id = 0xABAB;
	blacklist = {
		{ vid = 0x0781; did = 0x74e0 }; -- SanDisk Sansa Fuze+
		{ vid = 0x0951; did = 0x1624 }; -- Kingston DataTraveler G2
		{ vid = 0x05ac;              }; -- any Apple device
	};
	timeout = 2000;
	ignore  = false;
	stall_reset = false;
}
--]]

------------------------------------------------------------------------------

-- D-Link DUB-E100 USB Dongles
device(0x2001, 0x3c05) {
    driver"/etc/scripts/extnet.sh -oname=en,lan=0,busnum=$(busno),devnum=$(devno),phy_88772=0,phy_check,wait=60,speed=100,duplex=1,ign_remove,path=$(USB_PATH) /lib/dll/devnp-asix.so /dev/io-net/en0";
    removal"ifconfig en0 destroy";
};

device(0x2001, 0x1a02) {
    driver"/etc/scripts/extnet.sh -oname=en,lan=0,busnum=$(busno),devnum=$(devno),phy_88772=0,phy_check,wait=60,speed=100,duplex=1,ign_remove,path=$(USB_PATH) /lib/dll/devnp-asix.so /dev/io-net/en0";
    removal"ifconfig en0 destroy";
};

-- SMSC9500
device(0x0424, 0x9500) {
	-- the extnet.sh script does an exec dhcp.client at the bottom, then usblauncher can slay the dhcp.client when the dongle is removed
	driver"/etc/scripts/extnet.sh -olan=0,busnum=$(busno),devnum=$(devno),path=$(USB_PATH) /lib/dll/devn-smsc9500.so /dev/io-net/en0";
	removal"ifconfig en0 destroy";
};

-- Germaneers LAN9514
device(0x2721, 0xec00) {
        -- the extnet.sh script does an exec dhcp.client at the bottom, then usblauncher can slay the dhcp.client when the dongle is removed
        driver"/etc/scripts/extnet.sh -olan=0,busnum=$(busno),devnum=$(devno),path=$(USB_PATH) /lib/dll/devn-smsc9500.so /dev/io-net/en0";
        removal"ifconfig en0 destroy";
};

-- ASIX AX88178
device(0x0b95, 0x1780) {
    driver"/etc/scripts/extnet.sh -oname=en,lan=0,busnum=$(busno),devnum=$(devno),wait=60,ign_remove,path=$(USB_PATH) /lib/dll/devnp-asix.so /dev/io-net/en0";
    removal"ifconfig en0 destroy";
};

-- ASIX AX88179
device(0x0b95, 0x1790) {
    driver"/etc/scripts/extnet.sh -oname=en,lan=0,busnum=$(busno),devnum=$(devno),wait=60,ign_remove,path=$(USB_PATH) /lib/dll/devnp-asix.so /dev/io-net/en0";
    removal"ifconfig en0 destroy";
};

Looks to me that ASIX AX88178 and AX88179 should both be equivalent to the DUB-E100, they run the same script and target the same en0 interface - they're also a lot easier to buy. I picked up a AX88179 on amazon with 2 day shipping for only ~ $20, it turned up with the correct chip vid/pid ( https://www.amazon.com.au/gp/product/B00MYTSN18/ref=ppx_yo_dt_b_asin_title_o02_s00 ).

Plugging it into the unit, I can see it appears to be enumerated correctly in the logs copied off from green screen. Also, under green menu mmx_prod/ip-setting_prod it appears as en0 with the expected ip address - 172.16.250.248

I tried connecting it my my laptop which is using a different ASIX usb/ethernet device (AX88179). With my laptop set to dhcp I don't get any ip address. With my laptop set to the suggested ip address 172.16.250.123 I cannot ping or telnet to 172.16.250.248 In that same ip address green screen I selected the option to enable dhcp mode and connected the car to a router instead to provide it an ip address - the car's ip address then only ever shows 0.0.0.0 - it's not getting an ip address at all. I tried multiple tested ethernet cables, no change.

The lights on the AX88179 show it's connected, has a couple of blinks to show activity, but not getting any throughput.

Plugging the AX88179 into my desktop and using the same adapter on laptop, it works fine - manually set ip addresses on both ends and it pings just fine - so it looks like the usb ethernet does work, just not with the car.

Have you ever seen anything like this with a DUB-E100?


Good news: AX88179 adapters work

Hunting through my cupboard I found an old USB hub / Ethernet adaptor that just happened to also be a AX88179. Tried it on the car, with my other AX88179 adapter on the laptop, set the laptop to static IP and straight away the ping 172.16.250.248 went through! The telnet to 123 also works :-)

Note: make sure the car ignition is on, but engine not running. I think on some/most previous attempts I just turned the screen on manually, but didn't turn the car on.

I just used a normal Ethernet cable directly between the two USB Ethernet adaptors, they did not need a cross-over cable.

Once it was working, I swapped the two USB Ethernets over again, so the old one on my laptop and the new one I got from Amazon connected to car - this also worked fine now.

So the failure I saw in the top post might have been from the other USB ethernet I previously used on my laptop, or simply from not having the car ignition on.

AX88179 adapters have become common online as they're natively supported on Nintendo switch, so many/most usb3 adapters advertised as supporting the switch should be this chip. Either way, the Amazon link I noted in the top post explicitly listed this chip was in use.


I've checked (with grep) all the firmware packs I've got access to - it looks like all current MMX2 firmware should support these two ASIX AX88178 and AX88179 ethernet adapters:

Firmware ASIX
Audi (A3) MHI2_ER_AU37x_P5089 MU1326 MMX2 yes
Audi (A3) MHI2_ER_AU37x_P5089 MU1326 MMX2 yes
Audi (A4-A5-Q5-Q7) MHI2_ER_AUG22_K3346 MU1438 MMX2 yes
Audi (A4-A5-Q5-Q7) MHI2_ER_AUG22_K3346 MU1438 MMX2 yes
Audi (A6-A7) MHI2_ER_AU57x_K3663 MU1425 MMX2 yes
Audi (A6-A7) MHI2_ER_AU57x_K3663 MU1425 MMX2 yes
Audi (Q2) MHI2_ER_AU276_P5088 MU1325 MMX2 yes
Audi (Q2) MHI2_ER_AU276_P5088 MU1325 MMX2 yes
Audi (R8) MHI2_ER_AU62x_P5099 MU1340 MMX2 yes
Audi (R8) MHI2_ER_AU62x_P5099 MU1340 MMX2 yes
Audi (TT) MHI2_ER_AU43x_P5098 MU1339 MMX2 yes
Audi (TT) MHI2_ER_AU43x_P5098 MU1339 MMX2 yes
Seat MHI2_ER_SEG11_P4708 MU1409 MMX2 yes
Seat MHI2_ER_SEG11_P4708 MU1409 MMX2 yes
Skoda MHI2_ER_SKG11_K3343 MU1433 MMX2 yes
Skoda MHI2_ER_SKG11_K3343 MU1433 MMX2 yes
Skoda MHI2_ER_SKG13_P4526 MU1440 MMX2 yes
Skoda MHI2_ER_SKG13_P4526 MU1440 MMX2 yes
VW MHI2_ER_VWG11_K3332 MU1187 MMX2 yes
VW MHI2_ER_VWG11_K3332 MU1187 MMX2 yes
VW MHI2_ER_VWG11_K3342 MU1427 MMX2 yes
VW MHI2_ER_VWG11_K3342 MU1427 MMX2 yes
VW MHI2_ER_VWG13_P4521 MU1367 mmx2 yes
VW MHI2_ER_VWG13_P4521 MU1367 mmx2 yes

The only firmware packs I have that don't support it are MMX1 - looking manually at these it appears they literally only support the two versions of D-Link DUB-E100 (ven=2001, dev=3c05 or ven=2001, dev=1a02).

Firmware ASIX
Audi (A3) MHIG_EU_AU_K1549 MU0404 MMX1 no
Audi (A3) MHIG_EU_AU_K1549 MU0404 MMX1 no
Skoda MHIG_EU_SK_K1552 MU0411/EU MMX1 no
Skoda MHIG_EU_SK_K1552 MU0411/EU MMX1 no
Skoda MHIG_EU_SK_K1552 MU0411/RW MMX1 no
Skoda MHIG_EU_SK_K1552 MU0411/RW MMX1 no
VW MHIG_EU_VW_K1550 MU0407 MMX1 no
VW MHIG_EU_VW_K1550 MU0407 MMX1 no

Investigation by @andrewleech originally postet in Issue #119