LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Fedora (http://www.linuxquestions.org/questions/fedora-35/)
-   -   OS doesn't see my pandaboard es when I plug it in. (http://www.linuxquestions.org/questions/fedora-35/os-doesnt-see-my-pandaboard-es-when-i-plug-it-in-4175472387/)

djgerbavore 08-06-2013 05:55 PM

OS doesn't see my pandaboard es when I plug it in.
 
I'm trying to install fastboot on this pandaboard-es device I recently bought. (http://pandaboard.org/node/223/#PBESSetUp)
I'm starting to get into android platform development and need a device that is hackable.

In order to install fastboot I need to plug the pandaboard into my computer via usb however the kernel seem frightened by it, because I'm seeing the message below flooding dmesg:
Code:

[2329629.750830] usb 3-2: New USB device found, idVendor=0451, idProduct=d010
[2329629.750832] usb 3-2: New USB device strings: Mfr=33, Product=37, SerialNumber=0
[2329629.750833] usb 3-2: Product: OMAP4440
[2329629.750835] usb 3-2: Manufacturer: Texas Instruments
[2329632.749732] usb 3-2: USB disconnect, device number 35
[2329633.522352] usb 3-2: new high-speed USB device number 36 using xhci_hcd
[2329633.535280] usb 3-2: unable to get BOS descriptor

I'm not sure what "unable to get BOS descriptor means"

OS and Kernel:
Code:

$ uname -rma
Linux raoulduke 3.9.6-200.fc18.x86_64 #1 SMP Thu Jun 13 18:56:55 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Is there any pandaboard dev out there that can shed some light on this.

Thanks,

rootboy 08-07-2013 03:24 AM

It doesn't look like a Pandaboard problem, try updating flashtool: https://bbs.archlinux.org/viewtopic.php?id=134786

If that doesn't work, apply a (self-made) patch: http://www.armtvtech.com/armtvtechfo...p?t=212&p=3860

Look for:

4. Run lsusb and make note of the device id (in my case for the MK808 it is 2207:300a)
5. Next open up rkflashtool.c from the supplied archive and add a conditional if statement (Third if) for your device as follows (Note: place your device ID that you identified with lsusb):

How do you like your PandaBoard? If I get into ARM programming again (now that the scars on my head have healed), I will probably go with the BeagleBone Black. It seems to have a bigger userbase, and chunking down $45 bucks on yet another-impossible-to-program ARM board is less painful. :)

AKA, yet another FriendlyARM owner...

djgerbavore 08-07-2013 12:24 PM

Thanks for the tip. I'll have to google around but what is flashtool? Is it a way to flash images onto a device?

I'm currently using a program called usbboot (https://code.google.com/p/omapboot/) to install fastboot (http://www.androidcentral.com/android-z-what-fastboot) onto the device. According to the Documentation in the android source this is the method they use in getting android up and running on these boards.

I may have to dig into the source and see if adding the deviceId for this boards makes it work.

The output of lsusb -vv is
Code:

Bus 001 Device 020: ID 0451:d010 Texas Instruments, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              2.10
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass      255 Vendor Specific Subclass
  bDeviceProtocol      255 Vendor Specific Protocol
  bMaxPacketSize0        64
  idVendor          0x0451 Texas Instruments, Inc.
  idProduct          0xd010
  bcdDevice            0.00
  iManufacturer          33
  iProduct              37
  iSerial                0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          32
    bNumInterfaces          1
    bConfigurationValue    1
    iConfiguration          1
    bmAttributes        0xc0
      Self Powered
    MaxPower              100mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          2
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0200  1x 512 bytes
        bInterval              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0200  1x 512 bytes
        bInterval              0

But thanks for you help. I'm somewhat new at embedded development so I apology in advance for my noob questions.

Thanks,

rootboy 08-08-2013 01:55 AM

I'm beginning to think that the BOS "error" was a red herring. It probably is not the source of your problems.

This link goes through setting up your PandaBoard (via USB) with FireFox OS:

https://developer.mozilla.org/en-US/..._OS/Pandaboard

djgerbavore 08-08-2013 09:37 AM

rootboy, thanks for the help. The link was very useful.

What is confusing me is the kernel (?) is constantly discovering or finding this new device over and over again.

My dmesg is flooded with this message:

[2329629.750830] usb 3-2: New USB device found, idVendor=0451, idProduct=d010
[2329629.750832] usb 3-2: New USB device strings: Mfr=33, Product=37, SerialNumber=0
[2329629.750833] usb 3-2: Product: OMAP4440
[2329629.750835] usb 3-2: Manufacturer: Texas Instruments
[2329632.749732] usb 3-2: USB disconnect, device number 35
[2329633.522352] usb 3-2: new high-speed USB device number 36 using xhci_hcd
[2329633.535280] usb 3-2: unable to get BOS descriptor

The device number is constantly changing, (every 2 seconds)

Also the file in /dev/bus/usb/001/<device> is disappearing and then reappearing with a new number also.

To me this seem very strange. Should it only show this message once. I'm assuming this is the root cause of why I'm having trouble installing fastboot. Since usbboot can't reliably detect the device since its appearing and disappearing so quickly. Maybe i'm wrong. I'm hoping its not a bad board.

Thanks,

djgerbavore 08-08-2013 09:43 AM

I'm able to run the udevadm command just in time before the device disappeared. Not sure if this is useful but here is the output:

Code:

udevadm info --attribute-walk --name=/dev/bus/usb/001/102

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1':
    KERNEL=="1-1"
    SUBSYSTEM=="usb"
    DRIVER=="usb"
    ATTR{bDeviceSubClass}=="ff"
    ATTR{bDeviceProtocol}=="ff"
    ATTR{devpath}=="1"
    ATTR{idVendor}=="0451"
    ATTR{speed}=="480"
    ATTR{bNumInterfaces}==" 1"
    ATTR{bConfigurationValue}=="1"
    ATTR{bMaxPacketSize0}=="64"
    ATTR{busnum}=="1"
    ATTR{devnum}=="102"
    ATTR{configuration}=="pbc"
    ATTR{bMaxPower}=="100mA"
    ATTR{authorized}=="1"
    ATTR{bmAttributes}=="c0"
    ATTR{bNumConfigurations}=="1"
    ATTR{maxchild}=="0"
    ATTR{bcdDevice}=="0000"
    ATTR{avoid_reset_quirk}=="0"
    ATTR{quirks}=="0x0"
    ATTR{version}==" 2.10"
    ATTR{urbnum}=="14"
    ATTR{ltm_capable}=="no"
    ATTR{manufacturer}=="Texas Instruments"
    ATTR{removable}=="unknown"
    ATTR{idProduct}=="d010"
    ATTR{bDeviceClass}=="ff"
    ATTR{product}=="OMAP4440"

  looking at parent device '/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{devpath}=="0"
    ATTRS{idVendor}=="1d6b"
    ATTRS{speed}=="480"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{authorized_default}=="1"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{configuration}==""
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{authorized}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{maxchild}=="6"
    ATTRS{bcdDevice}=="0307"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{serial}=="0000:02:03.0"
    ATTRS{version}==" 2.00"
    ATTRS{urbnum}=="31320"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Linux 3.7.2-201.fc18.x86_64 ehci_hcd"
    ATTRS{removable}=="unknown"
    ATTRS{idProduct}=="0002"
    ATTRS{bDeviceClass}=="09"
    ATTRS{product}=="EHCI Host Controller"

  looking at parent device '/devices/pci0000:00/0000:00:11.0/0000:02:03.0':
    KERNELS=="0000:02:03.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{irq}=="17"
    ATTRS{subsystem_vendor}=="0x15ad"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0320"
    ATTRS{companion}==""
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{local_cpus}=="00000000,00000000,00000000,00000001"
    ATTRS{device}=="0x0770"
    ATTRS{uframe_periodic_max}=="100"
    ATTRS{msi_bus}==""
    ATTRS{local_cpulist}=="0"
    ATTRS{vendor}=="0x15ad"
    ATTRS{subsystem_device}=="0x0770"
    ATTRS{numa_node}=="-1"
    ATTRS{d3cold_allowed}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:11.0':
    KERNELS=="0000:00:11.0"
    SUBSYSTEMS=="pci"
    DRIVERS==""
    ATTRS{irq}=="0"
    ATTRS{subsystem_vendor}=="0x15ad"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x060401"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{local_cpus}=="00000000,00000000,00000000,00000001"
    ATTRS{device}=="0x0790"
    ATTRS{msi_bus}=="1"
    ATTRS{local_cpulist}=="0"
    ATTRS{vendor}=="0x15ad"
    ATTRS{subsystem_device}=="0x0790"
    ATTRS{numa_node}=="-1"
    ATTRS{d3cold_allowed}=="0"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


rootboy 08-10-2013 01:06 AM

If it's coming on and then dropping out, check your 5 volts at the PandaBoard. This sounds like it might be a voltage problem (alternatively, switch to a powered USB hub to power/communicate with your PandaBoard). I see in your listing where it says that bMaxPower is set to 100ma. That's probably not going to be enough.

djgerbavore 08-13-2013 06:07 PM

rootboy thanks again for all your help.

I got a usb powered hub and plugged the pandaboard into it and now i'm seeing this in dmesg:
Code:

[  339.339348] usb 3-2: new full-speed USB device number 2 using xhci_hcd
[  339.369180] usb 3-2: New USB device found, idVendor=0451, idProduct=1446
[  339.369185] usb 3-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[  339.370010] usb 3-2: ep 0x81 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[  339.372185] hub 3-2:1.0: USB hub found
[  339.376117] hub 3-2:1.0: 4 ports detected
[  355.619513] usb 3-2: USB disconnect, device number 2

Its still doing the same appearing disappearing act. I'm going to install debug kernel and see if ftrace can shed any light on this. But I'm starting to think this may be a bad board (?)

Thanks,

rootboy 08-15-2013 12:58 AM

You're welcome! :)

Ah silly me, you don't get power for the board through the USB port on one of these beasts. Clip on to your +5 VDC and ground (preferably with a scope) and see if your supply is dropping out on you while running. And obviously, I would try it out on Windows first before shipping it back.

And prior to hooking up your 5 VDC supply, be sure that it is putting out no more than 5 VDC, it seems that the PandaBoard is sensitive to overvoltage.


P.S., Showed off my Mega2560 at work today, might have another convert to the embedded world. :)

rootboy 08-15-2013 01:15 AM

Have you seen this?:

http://pandaboard.org/content/resources/getting-started

Which USB port are you trying to connect to?

And here is a link to adding USB ports to your board (I would populate the entire header rather than just the pins needed as shown on the web page though).

http://elinux.org/Panda_How_to_add_2_USBs


It looks like the Panda wants to talk through the serial port, and that the two provided USB ports are intended for your mouse and keyboard.

Tin Can Tools makes the "Flyswatter" which is a JTAG debugger for the Panda and the Beagle. If I get a BBB, I will definitely get one of these as well. You will want the adapter for the Panda as well. It will set you back ~$75

http://www.tincantools.com/JTAG-Debuggers.html

And here's my favorite "Swiss Army Knife" debugging tool:

http://dangerousprototypes.com/docs/Bus_Pirate

djgerbavore 08-15-2013 09:52 AM

rootboy, thanks for the info.

I did watch that getting-started video. I'm not using the two usb host ports. I'm using the USB Mini port J-18 (the one next to serial port). I'm using this PDF as reference: http://www.mouser.com/ds/0/PandaBoar...REV0_1-643.pdf (Page 16 to be exact)

I'm still might order USB ports and hook them up to the J6 expansion header on the PandaBoard. Its only 5 dollars.

The Flyswatter and Bus Pirate seem like very cool tools to have as an inspiring embedded developer. I may have to buy these items.

Thanks again for you help. There still maybe hope for me!

djgerbavore 08-15-2013 10:11 AM

Just for clarification, if I buy:

http://www.frys.com/product/2069003#detailed

Am I able to snap (break) off the header pin to fit by board? (I'm assuming yes).

Thanks,

rootboy 08-16-2013 06:45 AM

If you want male pins, yes.

The nice thing about male pins is then you can plug one of those 40 pin female drive cables that we all have laying about in to run the connections out from your board. If your header isn't 40 wide, then don't be shy about cutting it down to size (just do a neat job and it will be fine).

Cut your new header to length and test fit it first since once you get started with the soldering iron, there is no turning back (solder a pin from each corner in first to make sure that the header is mounted flush with the board.

I'm assuming that the holes that you will be mounting the header to are through-plated (one would expect this). If not, then you will have to "wick" the solder through the board to the other side. Something that I don't like to do.

The original Xbox was like this (not through-plated), and I ended up not getting solder through on a few of the pins (I was putting a mod chip in mine). But this is the exception rather than the rule.

What I did to fix this was to take the header back out (it was a 8 pin header IIRC, and was no problem to get in and out) and mount it in upside down with just enough of the pins sticking through the board to make a good connection. I then soldered the header in on both sides, which fixed my electrical connection problem, and then gently worked the plastic frame of the pins down to where it was flush to the board. You only have to worry about this sort of thing if the board is not through-plated. Which I would be surprised if yours wasn't.


All times are GMT -5. The time now is 11:34 PM.