Righto... so I found part of the problem: USB Hubs and Windows don't play nice when you have rNDIS devices on the other end.
Apparently if you have a cheap hub (some mobos have one built in) you get this nasty "device failed to start" error because windows can't see it anymore! Oh noes! This becomes the bane of the hack!
You see, windows temporarily stashes "Device AF3D at hub 3D02 uses rndis.inf" until it gets unplugged... Which... Well it causes issues because it doesn't log that the device AF3D should always use that driver.
Sooooo I came up with a modified rndisnet.inf that
might maybe possibly workGeneral disclaimer applies:
IF THIS JACKS UP YOUR SYSTEM ITS NOT MY FAULT, I TESTED IT AND IT WORKED FINE FOR ME.
Here's dingoo_a320_rndis.inf:
; dingoo_a320_rndis.inf:
; Remote NDIS for Dingoo A320 USB.
; Copyright (c) Microsoft Corporation
; Modified by Morgan ``Indrora'' Gangwere on Nov. 12 2010
;
[Version]
Signature = "$Windows NT$"
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %Microsoft%
DriverVer=06/21/2006,6.1.7600.16385
;CatalogFile = device.cat
[Manufacturer]
%Dingoo% = RndisDevices,NTx86,NTamd64,NTia64
; Decoration for x86 architecture
[RndisDevices.NTx86]
; Explicitly handle this one device.
%RndisDevice% = RNDIS.NT.6.0, USB\VID_0525&PID_A4A2&REV_0223
; Decoration for x64 architecture
[RndisDevices.NTamd64]
; Explicitly handle this one device.
%RndisDevice% = RNDIS.NT.6.0, USB\VID_0525&PID_A4A2&REV_0223
; Decoration for ia64 architecture
[RndisDevices.NTia64]
; Explicitly handle this one device.
%RndisDevice% = RNDIS.NT.6.0, USB\VID_0525&PID_A4A2&REV_0223
;@@@ This is the common setting for setup
[ControlFlags]
ExcludeFromSelect=*
; DDInstall section
; References the in-build Netrndis.inf
[RNDIS.NT.6.0]
Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
BusType = 15
; NEVER REMOVE THE FOLLOWING REFERENCE FOR NETRNDIS.INF
include = netrndis.inf
needs = usbrndis6.ndi
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD.
*MediaType = 0 ; NdisMediumNative802_3
*PhysicalMediaType = 14 ; NdisPhysicalMedium802_3
; DDInstal.Services section
[RNDIS.NT.6.0.Services]
include = netrndis.inf
needs = usbrndis6.ndi.Services
; No sys copyfiles - the sys files are already in-build
; (part of the operating system).
; Modify these strings for your device as needed.
[Strings]
Microsoft = "Microsoft Corporation"
RndisDevice = "A320 Dingux rNDIS"
Dingoo = "Dingoo Digital CN"
Changes to the original rNDIS driver list:
- Removed the "Vista Option" items. Not needed.
- Dingoo should come up in the "manufacturer" listing. I don't know if it will all that well.
- Exact USB specifier used -- This will always match the Dingoo (theoretically, if it doesn't share a USB Vendor/Device ID!)
(the above makes Windows always load it and play nice)
if it tells you that this isn't the right driver for your device then your device has a different USB ID. Right click the device in the device manager look under properties->2nd tab for "USB\VID_NNN&PID_NNN" -- Copy-paste that into all 3 places.
Also, cool part of this is that it *should* work on WinXP and above without hassle