LPC-Link doesn't start from Virtualbox

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPC-Link doesn't start from Virtualbox

411 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by jaguarondi on Wed Feb 10 07:42:12 MST 2010
Hi,

I'm using Windows XP under Virtualbox from Linux. I have no problem with the red probe from the RDB1768 kit but can't get the LPC-link working.

Following a forum post, I did a few investigations and here's what I get:
- "USB Device with DFU capabilities" detected correctly
- either LPCXpresso or DFUAPP start downloading stuff but LPC-Link never initializes correctly, meaning that I never see anything else than "USB Device with DFU capabilities". Even lsusb from the linux kernel doesn't see the 3 devices that should initialize, which means LPC_link is never restarted with the new code.

Below is the log from DFUAPP download. It seems the firmware isn't transfered correctly.

Anything else I can try? Would you have another driver for me to try?

Thank you,
David


*****************************************************
*** DFU LOG FILE ***
Creation Time : 20100210_15h16m30.log
*****************************************************


Close Device
Open Device
Get Device Descriptor successful
Get Configuration Descriptor successful
DFU Get Status successful
---> DFUStatus: No error condition present.
---> DFUState: Device is operating in the DFU mode and is waiting for requests.

Device Descriptor
bLength: 0x12
bDescriptorType: 0x01
bcdUSB: 0x0110
bDeviceClass: 0x00
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x40
idVendor: 0x0471
idProduct: 0xdf55
bcdDevice: 0x0001
iManufacturer: 0x00
iProduct: 0x00
iSerialNumber: 0x00
bNumConfigurations: 0x01



DFU Get State successful
---> DFUState: Device is operating in the DFU mode and is waiting for requests.
Download Block Nb 0 (1220 Bytes)
DFU Get State successful
---> DFUState: Device has received a block and is waiting for the host to solicit the status via DFU_GETSTATUS.
DFU Get Status successful
---> DFUStatus: No error condition present.
---> DFUState: Device is processing a download operation. Expecting DFU_DNLOAD requests.
Download Block Nb 1 (1220 Bytes)
DFU Get State successful
---> DFUState: Device has received a block and is waiting for the host to solicit the status via DFU_GETSTATUS.
DFU Get Status successful
---> DFUStatus: No error condition present.
---> DFUState: Device is processing a download operation. Expecting DFU_DNLOAD requests.
Download Block Nb 2 (1220 Bytes)
DFU Get State successful
---> DFUState: Device has received a block and is waiting for the host to solicit the status via DFU_GETSTATUS.
DFU Get Status successful
---> DFUStatus: No error condition present.
---> DFUState: Device is processing a download operation. Expecting DFU_DNLOAD requests.
Download Block Nb 3 (1220 Bytes)
DFU Get State successful
---> DFUState: Device has received a block and is waiting for the host to solicit the status via DFU_GETSTATUS.
DFU Get Status successful
---> DFUStatus: No error condition present.
---> DFUState: Device is processing a download operation. Expecting DFU_DNLOAD requests.

----------
truncated, same stuff with other blocks
---------

Download Block Nb 28 (1220 Bytes)
DFU Get State successful
---> DFUState: Device has received a block and is waiting for the host to solicit the status via DFU_GETSTATUS.
DFU Get Status successful
---> DFUStatus: No error condition present.
---> DFUState: Device is processing a download operation. Expecting DFU_DNLOAD requests.
Download Block Nb 29 (1220 Bytes)
DFU Get State successful
---> DFUState: Device has received a block and is waiting for the host to solicit the status via DFU_GETSTATUS.
DFU Get Status successful
---> DFUStatus: No error condition present.
---> DFUState: Device is processing a download operation. Expecting DFU_DNLOAD requests.
Download Block Nb 30 (784 Bytes)
DFU Get State successful
---> DFUState: Device has received a block and is waiting for the host to solicit the status via DFU_GETSTATUS.
DFU Get Status successful
---> DFUStatus: No error condition present.
---> DFUState: Device is processing a download operation. Expecting DFU_DNLOAD requests.
DFU Get Status successful
---> DFUStatus: Received DFU_DNLOAD with wLength = 0, but device does not think it has all of the data yet.
---> DFUState: An error has occurred. Awaiting the DFU_CLRSTATUS request.



*** END OF FILE ***
0 Kudos
5 Replies

356 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by jaguarondi on Mon Feb 15 04:17:14 MST 2010
I got it working now. Basically you need to:

[LIST=1]
[*]Enable USB 2.0 EHCI mode
[*]Start debugging, LPC-Link will start and timeout
[*]Quit LPCXpresso, shutdown VirtualBox
[*]Linux will now enumerate the Red Probe correctly
[*]Restart VirtualBox and LPCXpresso
[/LIST]
Each time, you need to select the correct device from the USB device list of course, or like said before, add them in the configuration of the VM.

Hope that helps

David
0 Kudos

356 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by jaguarondi on Thu Feb 11 02:49:06 MST 2010
Thnak you. I now enabled the USB 2.0 mode which was disabled and it seems the LPC-link likes it better as it goes further but it still doesn't work. From the log, it looks like the device is programmed completely now but doesn't restart. I even tried a manual reset by shorting C22 but still no enumeration of the expected devices.

Here's the log of dfuapp:

DFU Get State successful
---> DFUState: Device is operating in the DFU mode and is waiting for requests.
Download Block Nb 0 (2048 Bytes)
DFU Get State successful
---> DFUState: Device has received a block and is waiting for the host to solicit the status via DFU_GETSTATUS.
DFU Get Status successful
---> DFUStatus: No error condition present.
---> DFUState: Device is processing a download operation. Expecting DFU_DNLOAD requests.

... truncated ...

Download Block Nb 19 (0 Bytes)
DFU Get State successful
---> DFUState: Device has received the final block of firmware from the host and is waiting for receipt of DFU_GETSTATUS to begin the Manifestation phase; or device has completed the Manifestation phase and is waiting for receipt of DFU_GETSTATUS. (Devices that can enter this state after the Manifestation phase set bmAttributes bit bitManifestationTolerant to 1.)
DFU Get Status successful
---> DFUStatus: No error condition present.
---> DFUState: Device has programmed its memories and is waiting for a USB reset or a power on reset. (Devices that must enter this state clear bitManifestationTolerant to 0.)
Device Reset after Download successful
Close Device
Open Device
Get Device Descriptor successful
Get Configuration Descriptor successful
DFU Get Status successful
---> DFUStatus: 
---> DFUState: Device has programmed its memories and is waiting for a USB reset or a power on reset. (Devices that must enter this state clear bitManifestationTolerant to 0.)
DFU Abort successful
DFU Get Status successful
---> DFUStatus: Device stalled an unexpected request.
---> DFUState: An error has occurred. Awaiting the DFU_CLRSTATUS request.
0 Kudos

356 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by pawel on Wed Feb 10 23:38:21 MST 2010
Hi,

I am using VirtualBox under Windows. Problem is that board is enumerated as a 2 devices. I added both of them.

Have look at my configuration file:

<USBController enabled="true" enabledEhci="true">
        <DeviceFilter name="Code Red Technologies LPC-Link Probe v1.1 [0100]" active="true" vendorId="1fc9" productId="0009" revision="0100" manufacturer="Code Red Technologies" product="LPC-Link Probe v1.1" remote="no"/>
        <DeviceFilter name="Unknown device 0471:DF55 [0001]" active="true" vendorId="0471" productId="df55" revision="0001" remote="no"/>
      </USBController>
0 Kudos

356 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by jaguarondi on Wed Feb 10 10:06:13 MST 2010
I never had any other problems with Virtualbox under Linux. As I said, code-red probe works perfectly with LPCXpresso.

Now using libusb, I'm pretty sure the LPC-Link never restarts with the downloaded firmware. I can't myself check from the log I attached if all the firmware is downloaded correctly.

---> DFUStatus: Received DFU_DNLOAD with wLength = 0, but device does not think it has all of the data yet.
---> DFUState: An error has occurred. Awaiting the DFU_CLRSTATUS request.


This seems to indicate that the download didn't complete.
0 Kudos

356 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Wed Feb 10 08:36:17 MST 2010
There are no other drivers.
It sounds like Virtual Box on Linux doesn't support USB correctly.

After you get this error, does the LPC-Link boot anyway?
0 Kudos