[UPDATED] "CDC Composite Gadget" 4.4 driver issue on Windows


#1

UPDATE:

The official driver now supports kernel 4.4 on Windows. There is no longer a need to do any of the solutions in this thread.


After I flashed my chip to 4.4 from 4.3 I realized like many of us that my computer (windows 7) didn´t recognize the device as a Serial Device but as CDC Composite Gadget and I couldn´t use the COM port which is a big bummer.

I looked in the forum and I found that is still an unresolved issue but thanks to @howie and @computermouth I realized whats the cause:

Quoting from howie: ‘‘The USB product ID changed in 4.4 from a4a7 to a4aa, which is a combined ethernet/serial gadget instead of just a serial gadget. Unfortunately, Windows doesn’t recognize it. That’s why.’’

Windows does not know to treat your device, as a serial port or Ethernet device because your hardware and vendor IDs are not in its pre-defined tables of said IDs which automatically select the INF file for you. So you just need a simple INF file to tell Windows to treat your hardware as something it already knows how to deal with and use its prebuilt classes for communication.

So I found the INF file used for the 4.3 OS and changed the PID a4a7 to a4aa, in my case the given INF file was named oem240.inf I am not exactly sure if it will have the same name on your computer and I believe that rather not, so to find it you need to follow this steps:

1. Open CMD as administrator 2. Type: set devmgr_show_nonpresent_devices=1 3. Type: start devmgmt.msc

What this does, except for opening your device manager, tells the manager to show the devices that were present in the past and now they aren´t, by default they are not shown. Also you need to check the “Show hidden devices” option in the view panel, as shown here (Sorry for spanish interface)

Then you need to locate the “Gadget Serial” entry from the “Ports (COM and LPT)” category

Right click it and click properties, after that you need to go to details and select INF name and you will see the filename

After you found your inf name you need to go to the following folder C:\Windows\inf and use the windows search box to locate the file easily

I recommend you to check the VID and PID to be extra sure that its really the inf we are looking for.

Once we have the inf file that our 4.3 os was using, copy it wherever you want, for example the desktop and open it with a text editor (I recommend Notepad++) and now we have to change the VID from A4A7 to A4AA, if you are using Notepad++ this can be done with the replace function Ctrl+H you type find: A4A7 replace with: A4AA and then press replace all.

When all entries are replaced your file is ready and you can proceed to save it.

Now you need to conect your C.H.I.P. and open the device manager again and locate the CDC Composite Gadget

Right click and “Update driver software”

Then we need to select Install from the computer manually.

Now we need to select the folder that contains the .inf we just modified and click next

windows will complain because we didnt sign the inf file, just install it anyway and voilá your chip will be working as it was working with OS 4.3

Just remember, this is just a hotfix, if we want the composite gadget and use both serial and Ethernet we need to wait for a official NTC solution or we can “bake” ourselves the inf files, if someone is willing to help me we could do it.

Sorry if this post was too long or has grammar mistakes.

(Just tagging people ive seen with this issue in the topic i mentioned so they can fix it @UnstoppableDrew @UnixOutlaw @KeyExpert)

I hope it helped,
Sincerely Petar Petrov


How to disable serial interface from USB OTG in 4.4?
Anyway to SSH with out any DIP's?
Where to find the CHP images?
USB on-the-go, Drivers, and BAD_POOL_ERROR
Just purchased 2 chips and can't get either to work with Windows
Build a full featured Security Cam for cheap!
OpenCV Cross-Compiling & UVC Webcam
Just purchased 2 chips and can't get either to work with Windows
Windows Drivers: Still Beating my Head against the Wall
HOWTO: Hitchhiker's guide to get into headless CHIP
Installing driver causes windows crash (blue screen)
Definitive guide about how to use C.H.I.P with Windows-7 64 bit
Definitive guide about how to use C.H.I.P with Windows-7 64 bit
If you have problems getting CHIP to show up as a COM Port..At least in Windows 10
No fastboot images not working
Getting started with CHIP on Windows 10
How to disable serial interface from USB OTG in 4.4?
USB Ethernet / Console drivers for Windows
How to access CHIP from a laptop [SOLVED]
Headless 4.4 and USB serial port
Does OTG work on 4.3?
Configure VNC without display
Chip not listing up as Network adapter on windows
#3

Pinned this in the CHIP category for the next 2 days in the hope that people will see this and it allows them to connect to 4.4 OS images from Windows over usb .


#4

Your post is fine and this is important work. THANK YOU!!!


#5

Just pointing out - the lack of a driver for the 4.4 serial/ethernet gadget does not prevent flashing…

Even if the CHIP is already running 4.4, putting it in FEL mode will still be visible to a Windows machine and you can flash it using the Chrome extension…


#6

True.

Where the gadget becomes important is users like me who don’t use a GUI, and use the gadget to set up the network. Or users who don’t have a composite TV and need to set up VGA/HDMI settings.


#7

Yup… Lucky for me I don’t run Windows at home… when I flashed one of my CHIPs at work last week using Windows - I had an HDMI monitor and keyboard so I could connect to WiFi…


#8

This is absolutely fantastic work, and I and the community are very grateful for this contribution!

I tried something similar, but could not get it to work with either winusb or libusbk drivers. I would love to include this in the drivers that get installed. However, my oem24.inf winds up being the driver I made for FEL and Fastboot, not serial gadget. Could you send me yours, along with with any sys files or dlls it uses? I will PM you with my email.

Muchos gracias. Eres una estrella !


#9

Hey, there’s something wrong with Discourse, I think. It happened once before too. Even though this topic is pinned, it won’t stay above the un-pinned topics. Just now the “solar panel” topic was above it.

EDIT: but is isn’t any more since I just bumped this one. :slight_smile:


#10

Just in your local viewing Steve, it should be pinned for people who haven’t read it yet. At least, that is how I interpreted the dialog when I pinned it.

The topic still has the pin, at the bottom of this page, it should say it’s unpinned for you.


#11

There is a option, in settings or somewhere that ive seen, it unpins the posts when you read all the replies

EDIT: yes, at the bottom in settings page you can find:

Topics Automatically unpin topics when I reach the bottom.


#12

I tried a similar trick before (although not editing from the same INF), but Windows 10 complains the driver does not have a valid signature.


#13

Windows 7 also complains but you click install anyway

Also you could sign it:

https://technet.microsoft.com/en-us/library/eb9b35a3-64e9-4cd4-8393-9d8f5966f9c2


#14

you can start up windows 10 with driver verification disabled
http://www.howtogeek.com/167723/how-to-disable-driver-signature-verification-on-64-bit-windows-8.1-so-that-you-can-install-unsigned-drivers/


Recommend Config Change
#15

Hmmm… I’ve got a 4.4 CHIP (non GUI) plugged into USB port on my work Surface Pro 3 (via USB 2 hub - man I HATE using Windows - I’d love to format this sucker and install Debian or Ubuntu!).

Anyway I never get a new device under “Ports” (or puertos)…

It ALWAYS shows up as a “libusbK” “C.H.I.P. Flashing Mode”… I know 100% my CHIP is not in FEL mode… I’ve tried about a half dozen different USB cables too…

I just plugged it into my BananaPI via another USB hub and it shows up as CDC Composite Gadge (for some reason it drops off the “t” - which is kinda cool, reminds me of the French/Romanian/Romani film “Gadjo Dilo” - “gadjo” being Romani [Gypsy] for “stranger”)…


#16

Great hack and guide. It served as a source of inspiration for me, combined with the previous struggles during the 1.0 CHIP SSH- adventure. I might have just come up with a simple solution to this whole problem. Atleast works for me…

There is another inf-file, linuc-cdc-acm.inf, that builds that device specific inf-file. I just ran that through Notepad and replaced vendor-id’s then offered it to Windows. It took a while, but now it recognizes CHIP (with 4.4) as Gadget Serial.

I reccon the results are similar, in fashion, to just modifying the oem-file, but this could change “upstream”.

…not thoroughly tested, so this one is labeled “working for now”.


#17

Just removing the drivers used during flashing gets you back to square one. Which is Windows does not know what to do with the device. To get it to Ports >> you have to get Windows to handle it as a “Serial Gadget”. :sunny:

Removing them is, suprisingly, simple (for Windows). Open Device Manager and find the device. Right click, and select Remove.


#18

HI!

I had the same trouble with W10, but the CDC Composite Gadget appeared not as COM port but under “other devices”.
Suggestion: delete any trace of previuos flashing driver, then, after completing the procedure for disabling driver signature verification, force the manual installation of a COM driver for CDC Composite Gadget, and select ELMO as producer. In this way the CHIP USB serial port will be again available in W10 with Kernel 4.4.


#19

Based on this, I produced a driver that works on Windows 10. I believe it only will install in English versions of windows (I need to fix that). I don’t think it works in windows 7.

https://s3-us-west-2.amazonaws.com/getchip.com/extension/drivers/windows/InstallDriver44.exe


Comport not showing after flashing
Flashing PocketCHIP problem
#20

There was a hotfix for drivers saying that they cant be installed because of the system language, it was through CMD and something like /lang but I don´t remember


#21

I know what the problem is, but don’t have my windows box here, so can’t rebuild it. Basically, if you specify a language, then it will only work with that language. You’d think that there would be a way to specify a default language, but sadly, not.