News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

USB not working TE0808-04 + TEBF0808-04A petalinux 2018.2

Started by jarios86, October 23, 2019, 10:27:16 AM

Previous topic - Next topic

jarios86

Hi,

I'm using the petalinux project that we can find in the Starterkit/os/petalinux folder and I want to use the USB port to connect some peripherals, but first I have tried to check the USB using a memory stick (USB2.0 and USB3.0), but it doesn't work. I have checked the USB drivers in the kernel configuration and I think it's ok (because I'm using your petalinux base project):


Support for Host-side USB [yes]
USB announce new devices [yes]
xHCI HCD (USB 3.0) support [yes]
    Generic xHCI driver for a platform device [yes]
EHCI HCD (USB 2.0) support [yes]
    Root Hub Transaction Translators [yes]
    Improved Transaction Translator scheduling [yes]
USB Mass Storage support [yes]
    USB Attached SCSI [yes]
USB Serial Converter support [yes]
    USB Winchiphead CH341 Single Port Serial Driver [yes]


Then I have checked the system-user.dtsi and under the /*USB*/ comment there is the following configuration:


/* USB  */

&dwc3_0 {
    status = "okay";
    dr_mode = "host";
};


Even I have checked the PS IP block configuration in the Vivado project and the USB0 is enable. I created the Vivado project using the scrip that you provide in the Starterkit folder. You can see the screenshot attached.

When I boot the system I can see the following messages, but I think all of them are related with the USB-HUB and other devices that are in the TEBF0808-04A board.


...
[    1.326436] usbcore: registered new interface driver usbfs
[    1.326479] usbcore: registered new interface driver hub
[    1.326518] usbcore: registered new device driver usb
...
[    2.485243] usbcore: registered new interface driver asix
[    2.485298] usbcore: registered new interface driver ax88179_178a
[    2.485332] usbcore: registered new interface driver cdc_ether
[    2.485366] usbcore: registered new interface driver net1080
[    2.485400] usbcore: registered new interface driver cdc_subset
[    2.485433] usbcore: registered new interface driver zaurus
[    2.485480] usbcore: registered new interface driver cdc_ncm
[    2.485780] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    2.486152] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.486164] ehci-pci: EHCI PCI platform driver
[    2.486445] usbcore: registered new interface driver uas
[    2.486488] usbcore: registered new interface driver usb-storage
[    2.486553] usbcore: registered new interface driver usbserial
[    2.486587] usbcore: registered new interface driver ch341
[    2.486616] usbserial: USB Serial support registered for ch341-uart
...
[    2.507131] usbcore: registered new interface driver uvcvideo
[    2.507141] USB Video Class driver (1.1.1)
...
[    2.508039] usbcore: registered new interface driver bcm203x
[    2.508080] usbcore: registered new interface driver bpa10x
[    2.508118] usbcore: registered new interface driver bfusb
[    2.508155] usbcore: registered new interface driver btusb
...
[    2.508224] usbcore: registered new interface driver ath3k
...
[    2.606465] usbcore: registered new interface driver usbhid
[    2.606475] usbhid: USB HID core driver
...
[    4.401185] dwc3-of-simple ff9d0000.usb0: dwc3_simple_set_phydata: Can't find usb3-phy
[    4.409724] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    4.415146] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    4.423000] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x22010010
[    4.431655] xhci-hcd xhci-hcd.0.auto: irq 44, io mem 0xfe200000
[    4.437644] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    4.444363] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.451561] usb usb1: Product: xHCI Host Controller
[    4.456418] usb usb1: Manufacturer: Linux 4.14.0-xilinx-v2018.2 xhci-hcd
[    4.463102] usb usb1: SerialNumber: xhci-hcd.0.auto
[    4.468254] hub 1-0:1.0: USB hub found
[    4.471946] hub 1-0:1.0: 1 port detected
[    4.476026] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    4.481447] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    4.489123] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    4.497230] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    4.503946] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.511149] usb usb2: Product: xHCI Host Controller
[    4.516007] usb usb2: Manufacturer: Linux 4.14.0-xilinx-v2018.2 xhci-hcd
[    4.522691] usb usb2: SerialNumber: xhci-hcd.0.auto
[    4.527811] hub 2-0:1.0: USB hub found
[    4.531505] hub 2-0:1.0: 1 port detected
...
Starting Dropbear SSH server: Generating key, this may take a while...
[   13.856915] usb usb1-port1: connect-debounce failed


When I login to the system and I connect the memory stick, there is no message that shows a new USB device connected. I should see something like:
USB 3.0 : HP USB 3.0 16 GB pendrive (idVendor=03f0, idProduct=4840)
USB 3.0 - UASP capable drive - Transcend Storjet 128GB
USB 2.0 : Sandisk Cruzer Blade USB 2.0 8 GB Pendrive (idVendor=0781, idProduct=5567)

When I run lsusb command I only see:
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0003

I don't know what I are missing. Attached you can find the whole booting log.

Thanks in advance,
Antonio

JH

Hi,
can you try out our prebuilt boot.bin and image.ub from 2018.3 reference design at first:
https://wiki.trenz-electronic.de/display/PD/TE0808+StarterKit
https://shop.trenz-electronic.de/en/Download/?path=Trenz_Electronic/Modules_and_Module_Carriers/5.2x7.6/TE0808/Reference_Design/2018.3/StarterKit
Put  boot.bin and image.ub from your TE0808 assembly version on SD and boot. (Which assembly version did you use? can you send me the whole name)
Does it work? (This should work, I need to know to narrow down the sources of error.)

Which Reference CLK did you use for GTR? default one from which is set by our board part file? If yes, did you use also our modified FSBL to initialise PLL(SI5345)?

PS: Changes we have done manually in petalinux 2018.3:
https://wiki.trenz-electronic.de/display/PD/TE0808+StarterKit#TE0808StarterKit-SoftwareDesign-PetaLinux
For 2018.2 is  a pdf in the download available.

br
John



jarios86

Hi John,

Thanks for your quick reply.

My assembly version is TE0808-04-15EG_1E. I have put the boot.bin and image.ub from 2018.3 reference design and the USB is working. Do you think if I implement my hardware design (starting from the starterkit project) and use the petalinux project under the Starterkit/os/petalinux the USB should work??

QuoteWhich Reference CLK did you use for GTR? default one from which is set by our board part file? If yes, did you use also our modified FSBL to initialise PLL(SI5345)?
I did not change anything in the vivado project created from Starterkit (2018.2), neither in the petalinux kernel configuration (I use the petalinux project supplied in the Starterkit), so I suppose that I'm using the default parameters.

Thanks in advance,

Best,
Antonio

JH

Hi,
create at first starterkit by yourself without any changes with instructions from:
https://wiki.trenz-electronic.de/display/PD/TE0808+StarterKit#TE0808StarterKit-DesignFlow
if this works, you can start to manipulate like you need.
It belongs everything together: Vivado Design, FSBL, PMU, ATF, U-boot and linux. So you must always pay attention, when you change something.
In case you change PS IP or PS-PL interfaces(CLKS or Addressmapping), you should regenerate all other sources with new HDF. Depending on changes maybe also other manual modification are necessary.
br
John

jarios86

Hi,

I solved the problem. My error was that I created the BOOT.bin using the fsbl placed on petalinux_project/images/linux that is generated when the petalinux project was built. Then I realized that the correct fsbl to generate the BOOT.bin is placed on StarterKit/prebuilt folder. Now, when I boot my system, the USB is listed and I can use the USB peripherals that I connect.

Thanks for your time and recommendations.

Best,
Antonio

JH

Hi,
you can use prebuilt FSBL (in case you did not regenerate with HSI script), only if PS setup in your project is the same.
We provide source code of the FSBL as sdk template in the reference design, so you can regenerate also by yourself.
--> here is a short decription  how you can load the FSBL template into the SDK:
https://wiki.trenz-electronic.de/display/PD/SDK+Projects#SDKProjects-CreateSDKProjectfromVivado

br
John