Jump to content

Orange PI I96 USB port... does it work?


whitefeather

Recommended Posts

Hi All,

 

I wonder if anyone ever succeeded in getting the USB 2.0 port of this board work properly.

 

I'd like to (try to) use it as a *very* low cost ADS-B receiver using an external RTL-SDR dongle, but despite the fact that the port is claimed to be a 2.0 (and recognized by the OS as a 2.0 Hub) when I attach the dongle (which is a high speed 2.0) no driver are loaded and is instead recognized as a full speed device, therefore the RTL-SDR library stops working with transfer errors, since it needs the 480M transfer speed of the 2.0 port and is unable to work with the 12M speed of the "full" standard.

 

Here is my dmesg | grep usb

 

[    0.378479] <rda_msys>: pid = 10, v_usb: ext_len = 0
[    0.378540] v_usb: 1800 <--> 2800 mV normal standby
[    0.388732] usbcore: registered new interface driver usbfs
[    0.388793] usbcore: registered new interface driver hub
[    0.388854] usbcore: registered new device driver usb
[    0.697265] usbcore: registered new interface driver usb-storage
[    0.697753] platform disable musb
[    0.697814] musb-hdrc: ConfigData=0x1a (UTMI-8, HB-ISO Rx, HB-ISO Tx, SoftConn)
[    0.697814] musb-hdrc: HDRC RTL version 2.0 
[    0.697875] gpio-vbus gpio-vbus: registered host 'musb-hdrc'
[    0.791931] usbcore: registered new interface driver usbmouse
[    0.822021] musb_gadget_pullup android usb didn't ready
[    0.822937] android_usb gadget: Mass Storage Function, version: 2009/09/11
[    0.822937] android_usb gadget: Number of LUNs=1
[    0.823181] android_usb gadget: android_usb ready
[    0.823242] gpio-vbus gpio-vbus: registered gadget 'musb-hdrc'
[    0.823242] musb-hdrc musb-hdrc: MUSB HDRC host driver
[    0.823242] musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
[    0.823364] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.823364] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.823364] usb usb1: Product: MUSB HDRC host driver
[    0.823364] usb usb1: Manufacturer: Linux 3.10.62-rda8810 musb-hcd
[    0.823364] usb usb1: SerialNumber: musb-hdrc
[    0.823913] platform enable musb
[    4.835388] <rda_msys>: pid = 10, v_usb: ext_len = 0
[    4.835449] usb cable connect... 
[    6.715698] usb cable disconnect... 
[    7.181274] usb 1-1: new full-speed USB device number 2 using musb-hdrc
[    7.324584] usb 1-1: not running at top speed; connect to a high speed hub
[    7.335021] usb 1-1: New USB device found, idVendor=0bda, idProduct=2838
[    7.335021] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    7.335083] usb 1-1: Product: RTL2838UHIDIR
[    7.335083] usb 1-1: Manufacturer: Realtek
[    7.335144] usb 1-1: SerialNumber: 00000212
[   15.373962] musb-hdrc musb-hdrc: VBUS_ERROR in a_host (98, VALID), retry #1, port1 00000103
[   16.553955] usb 1-1: USB disconnect, device number 2
[   16.831298] usb 1-1: new full-speed USB device number 3 using musb-hdrc
[   16.976806] usb 1-1: not running at top speed; connect to a high speed hub
[   16.987182] usb 1-1: New USB device found, idVendor=0bda, idProduct=2838
[   16.987182] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   16.987182] usb 1-1: Product: RTL2838UHIDIR
[   16.987243] usb 1-1: Manufacturer: Realtek
[   16.987243] usb 1-1: SerialNumber: 00000212
[  215.878356] musb-hdrc musb-hdrc: BUS BABBLE as a_host
[  215.878356] musb-hdrc musb-hdrc: usb otg cable is still on, and id is low
[  215.878906] usb 1-1: USB disconnect, device number 3
[  217.352416] usb 1-1: new full-speed USB device number 4 using musb-hdrc
[  217.505798] usb 1-1: not running at top speed; connect to a high speed hub
[  217.516784] usb 1-1: New USB device found, idVendor=0bda, idProduct=2838
[  217.516845] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  217.516906] usb 1-1: Product: RTL2838UHIDIR
[  217.516906] usb 1-1: Manufacturer: Realtek
[  217.516906] usb 1-1: SerialNumber: 00000212

 

usb-devices


T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=03.10
S:  Manufacturer=Linux 3.10.62-rda8810 musb-hcd
S:  Product=MUSB HDRC host driver
S:  SerialNumber=musb-hdrc
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0bda ProdID=2838 Rev=01.00
S:  Manufacturer=Realtek
S:  Product=RTL2838UHIDIR
S:  SerialNumber=00000212
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 1 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

 

lsusb -t


/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=musb-hdrc/1p, 480M
    |__ Port 1: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 1: Dev 4, If 1, Class=Vendor Specific Class, Driver=, 12M
 

 

I wonder if it can be a power-related problem, but I tested all the three power adapters I own, two 2.1A and one 2.4A, two of which with mobile USB cables and the last with fixed cable which work without a problem with my OPI Lite and my OPI Zero (each one having mounted to their USB ports an RTL-SDR dongle, plus a CPU fan, SSD1306 OLED screen and external RTC module attached to their GPIO header).

 

I doubt that the same power unit that is able to drive a 4-core board with all that stuff attached to the USB and GPIO header (and in the case of the Zero powered through the same micro-usb port) is unable to deliver enough power to this single core board and just one device attached. Or am I wrong?

I tried with any possible combination of power adapters and cables I have and even tried to (succesfully) power up the board through the GPIO header's pins, but nothing changes.

 

I also tried to switch the RTL-SDR dongles, I have three, but all of them are recognized as 1.1 devices while they work as they should with the OPI Lite and Zero.

 

I tried also to attach different USB 2.0 pens to the board but even these are recognized as 1.1. devices.

 

I tried to attach an external 4-ports 2.0 Hub, I have two, one is powered, the second is not. The powered one is simply not recognized, the other one is recognized as a 2.0 Hub but if I then attach the dongle to it, the dongle is not recognized anymore (not even as a 1.1. device). 

I then tried to use a Y USB cable to provide this latter hub some external power (by attaching the power cable to a second power adapter) but nothing changes (the hub is recognized, but no other devices attached to it are).

 

At this point I wondered if the problem is somwehere with the drivers, I tried both the OrangePI provided images (Debian and Ubuntu) and the Armbian images that the user guidol (thank you, you did a great job!) managed to compile a couple of years ago, but nothing changes.

 

Lately, even if I am a noob with Linux in general, I was considering trying to venture compiling an Armbian image myself just to see if anything improves, but I seem to understand that the board is no more supported and so it cannot be used anymore to compile an updated image, is that right?

 

Should I try to buy another power adapter? maybe a 3A unit? Before doing this I'd need some feedbak anyway, as it would cost more than the board and the SDR-RTL dongle together!

 

Any other advice someone?

 

Is anyone using succesfully this board with a high-speed (2.0) device??

 

It's a pity because despite the flaky WiFi connection, which should not be a great issue for the use I'd need, the image compiled by guidol works flawlessy.

 

Thanks anyone for any help.... BTW: THANKS YOU ALL GUYS for the great work you are doing with Armbian! I'm new to Linux but I really hope one day, when I will knew a bit more, to be able of giving something back to the community.

  

Link to comment
Share on other sites

4 hours ago, whitefeather said:

At this point I wondered if the problem is somwehere with the drivers, I tried both the OrangePI provided images (Debian and Ubuntu) and the Armbian images that the user guidol (thank you, you did a great job!) managed to compile a couple of years ago, but nothing changes.

 

Is anyone using succesfully this board with a high-speed (2.0) device??

Thanks for the "flowers", but I only compiled the image when the option was available in the armbian-build-system.
The Preconfiguration wasnt done by me ;)

 

On my i96 I never did the USB port to work, because it seems that it was allways "underpowered" - also with a bigger power supply and not using the MicroUSB-port.

Also there was no kernel-module working for USB-Audio :(

 

I also didnt like the high baudrate at the TTL-serial-port which did work very flaky for me :(

Link to comment
Share on other sites

Quote

 but I only compiled the image when the option was available in the armbian-build-system.
The Preconfiguration wasnt done by me

...still, yours are probably the only Armbian images left to support this board, so, thank you for sharing!

 

It's really sad that the board has never been officially supported, I'm trying to figure out if I can build a new one myself (using buildroot), however I'm afraid it's a step too big for my actual (very limited) knowledge of how things work in Linux and with these ARM boards.

 

Just out of curiosity I wonder if you ever noticed if any proper driver was loaded when you connected any USB devices to the board. I cannot understand if the fact that any USB device that I connect never show any driver loaded is due to the fact that the image lacks the needed drivers or if it something related to the inability of providing enough power to the board which make them not correctly recognizeable by the system....

 

Quote

On my i96 I never did the USB port to work, because it seems that it was allways "underpowered" - also with a bigger power supply and not using the MicroUSB-port.

 

...and that doesn'y give me much hope. What is confusing me further is that not even by connecting an external powered USB hub anything changes. Actually things get worst as the dongle is not even seen, if attached to the external hub.

 

I will keep trying if I can find a solution and I will post any useful information I may find.

Link to comment
Share on other sites

Just a quick update on the subject, for anyone interested.

 

I was unable to find a solution to the problem myself, however I recently came across an article on James Chambers' vblog, who provided a quick start guide for the I96: Orange Pi i96 Getting Started Guide | James A. Chambers (jamesachambers.com) 

 

I contacted him to know if he had my same (and everyone's) problems with the USB not working high speed and he confirmed the issue as well. However he dealt with the problem and mainly with the help of the findings of Gabor Hidvegi posted here on Armbian's forum he was able of providing not only a ready to install image for the board including all the known fixes, but also a repository to patch directly the original OrangePiRDA script files used to build the image: GitHub - TheRemote/Legendary-OrangePi-i96: Image that fixes the USB port on the Orange Pi i96 to use High Speed (480M) instead of Full Speed. 

 

Using the image he provided, I was able to confirm that the little board, coupled with a DVB-T dongle, can be used as an ultra-low-cost ADS-B receiver (that was my original plan)

 

 

IMG_20220828_113827_231.jpg

SharedScreenshot.jpg

Link to comment
Share on other sites

@whitefeather 
Its a long time ago - but did read this read today again and found a debian bulleye image (v1.37)
on his page from March 2023 ;

Debian Bullseye Image v1.37

So maybe that will give a "new life" for my i96 :)

 

OPi_i96_Bookworm.thumb.jpg.f84cd4be61bd7fe4e2ca60cef5887eaf.jpg

 

OPi_i96_htop.jpg.8c378490466938c4898e407518a6c50d.jpg

 

OPi_i96_network.jpg.00c237aaf66803f79375188fc5a09ab6.jpg

 

more /proc/cpuinfo

Processor       : ARMv7 Processor rev 1 (v7l)
processor       : 0
model name      : ARMv7 Processor rev 1 (v7l)
BogoMIPS        : 370.93
Features        : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc05
CPU revision    : 1

Hardware        : rda8810
Revision        : 0000
Serial          : 0000000000000000

 

Edited by guidol
Link to comment
Share on other sites

Couldnt get the USB-Gigabit-Ethernet to work after/in a passive USB-Hub :(

 

The Kernel (3.1.x) seem to have no support  for a CIFS/Samba-Mount :( 

 

I had problem after update to bookworm with the openssh-server (only connection reset)

and so I installed dropbear and vsftpd (because openssh-sftp was also deinstalled with openssh-server)

 

lsusb
Bus 001 Device 003: ID 2001:f103 D-Link Corp. DUB-H7 7-port USB 2.0 hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

[  302.008300] usb 1-1: new high-speed USB device number 4 using musb-hdrc
[  302.152099] hub 1-1:1.0: ignoring external hub

[  388.976745] usb 1-1: new high-speed USB device number 18 using musb-hdrc
[  389.124877] hub 1-1:1.0: ignoring external hub

 

Edited by guidol
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines