Thanks for the responses. I think I am complicating the issue than what I need to say. Just trying to make it more clear.
My question - How do I change the VID given by Digispark to free VID given by Obdev?
First, I have this micronucleus bootloader. I edit usbconfig.h file to insert a new USB_CFG_VENDOR_ID and USB_CFG_DEVICE_ID which is (0xc0, 0x16) and (0xdc, 0x05) and compile it successfully. This is the one provided for free by Obdev. Now, I use libusb-win32 to create an INF file, dll's and supporting files for this particular vendor ID which means that Windows should be able to recognize the usb device. I replace the micronucleus windows drivers with this one. So, to my understanding, the device id, vendor ID and dll files are used as a handshake between the computer and usb device. (to enumerate) Am I correct in this?
After doing all this, I upload the modified micronucleus code into the device, connect the device through a USB cable and open command window. I get the ubiquitous "ding" sound which means it is connected and asks for drivers. I provide the new driver location. The install succeeds and says "your new device is ready... " and so on. Now I open micronucleus command window and pass a new "blinking LED" hex file to upload. It stays there and does not go further. Why is this?
Some guesses:
1. There is something in the command line window code of micronucleus which is connecting only to particular VID.
2. The VID is present in more than one place in the actual code.
3. I am getting it all wrong which means somebody can please guide me.
micronucleus doesn't take care of anything for a running application.
I understand. It is used only as a bootloader which helps load custom firmware through *usb*.
When I use a digispark with littlewire as USBtinyISP, i it enumerates with a VID/PID which is registered by Adafruit Technologies.
I have tried littlewire, but somehow it does not work. Maybe because I have reset the reset pin to work as reset pin rather than normal IO pin. Still not sure though. By the way, are you using Digispark Arduino to program and selecting USBTinyISP, or is it that you are using AVRDude directly?
I am using AVRDude with this commands : "-pt85 -cusbtiny -Uflash:w:SIMPLEBLINK.hex:a" and failed. It says:
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATtiny85 is 1E 93 0B
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
Clearly, it is not able to flash or recognize Littlewire firmware as USBTinyISP.