Navie USB port drivers (Arduino Due mode)

For the Native USB port I have installed the "BOSSA programming port" under Windows XP Pro SP3. It works okay for uploading a sketch.

However, once the sketch runs the usb port changes to "Arduino Due" mode and the driver does not install. It appears that Windows XP cannot find the driver? Is the "Arduino Due" usb driver supported under Windows XP? Or am I misunderstanding how the Native port works?

The Windows Device Manager lists the Arduino Due, Hardware ids:
USB\Vid_2341&Pid_003e&Rev_0100
USB\Vid_2341&Pid_003e

However the included ArduinoDue.inf in the drivers folder is showing:
[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003E&MI_00
[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003E&MI_00

Could this be why they are not matching?

Try removing the &MI_00 from the description in the .inf and try to install again.

The way that Windows tries to find a match is to match the VID and PID first and then will get more specific depending on what is specified in the .inf
If we don't want or need to have different drivers for specific REVs, etc. then just specifying the VID and PID is sufficient for Windows to find a matching device.

Yep, that works by removing the &MI_00 from the end of the line. Windows XP now correctly installs the Arduino Due driver for the Native USB port. I now can use it for uploading as well as serial communications.

I don't know if the "&MI_00" is need for other Windows versions, so instead of removing it you can also try appending additional hardware Ids to the end of the line. This works great for my Windows XP Pro SP3 installation.

To summarize if you are having trouble installing the "Arduino Due" USB driver for the Native USB Port for Windows, you may need to edit the \arduino-1.5.1r2\drivers\Arduino Due.inf file:

Change these lines from:

[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003E&MI_00

[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003E&MI_00

To these lines(appended Hardware Ids):

[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003E&MI_00, USB\VID_2341&PID_003E

[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003E&MI_00, USB\VID_2341&PID_003E

Having trouble installing the "Arduino Due" USB driver for the Native USB Port for Windows XP Pro SP3, I edited the \arduino-1.5.1r2\drivers\Arduino Due.inf file as suggested :

[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003E&MI_00, USB\VID_2341&PID_003E

Windows XP now correctly installs the Arduino Due driver for the Native USB port.
But sketch "keyboarSerial" don't work.
I upload sketch (ok), open Serial Monitor, digit a letter (inCHAR) and press "send", no replay (inChar+1).
What is the problem?

You will need to apply this commit to your Arduino code base to solve your problem ( a release with this fix has not been made, yet ):
https://github.com/arduino/Arduino/commit/70351fc34150b1288079996839082e751b176821

Read this thread for all the details:
http://arduino.cc/forum/index.php/topic,129869.0.html

With the changes above, you should uninstall the driver, change back the .inf to original, then install the driver with the original .inf

I have done.
Windows XP correctly installs the Arduino Due driver for the Native USB port.
But sketch "KeyboarSerial" still don't work.

I have done some test.
With this code
void setup() {
Keyboard.begin();
}
void loop() {
delay(2000);
Keyboard.press(KEY_PAGE_UP);
Keyboard.releaseAll();
}

It work ok.

With "KeyboarSerial" sketch I digit a letter in the Serial Monitor window,press "send", but no replay (inChar+1) I recive.
Is 't correct this test of the sketch ?
Thanks.

After others tests I founded that if connect Arduino Due to programming Port "KeybordSerial" sketch work as aspected.

The problem is in the Serial port numbering on the Due.

Serial => RX0/TX0 and Programming Port
SerialUSB => Native Port

To make the example working with only one cable, you should use SerialUSB instead of Serial, but this will make the example fails on Arduino Leonardo (and derivatives)