Decker Posted December 23, 2015 Share Posted December 23, 2015 I have downloaded http://mirror.igorpecovnik.com/test/Armbian_5.00_Bananapi_Debian_jessie_4.4.0-rc5.zip and tried OTG, as I though that it´s support was added in kernel 4.3, but it is not wokring. Is there a way to enable it? I am missing this feature, yet I do not want to go back to legacy kernel. I tried various usb peripherals and hubs, but OTG port is not powered. Thank you. Link to comment Share on other sites More sharing options...
Igor Posted December 23, 2015 Share Posted December 23, 2015 --- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts +++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts @@ -269,7 +269,7 @@ }; &usb_otg { - dr_mode = "otg"; + dr_mode = "host"; status = "okay"; }; That image was deliberately compiled with OTG in host mode You need to alter Bananapi DTB ... Simply use the one from BananaPRO and it should work since OTG mode is default. 1 Link to comment Share on other sites More sharing options...
Decker Posted December 24, 2015 Author Share Posted December 24, 2015 My luck is bad here Igor. port still dead. To be sure I have compiled whole own kernel too. First time with "host", second time with "otg" option in sun7i-a20-bananapi.dts (I have deleted source dir before second attempt). Nothing changes. (I have installed both new kernel and dtb .deb files) I do not know where I could make a mistake. Chrrrm. Maybe port is broken physically. I will just wait to next release and will see what is up. Link to comment Share on other sites More sharing options...
Igor Posted December 24, 2015 Share Posted December 24, 2015 You need to load a module "sunxi" Link to comment Share on other sites More sharing options...
Decker Posted December 24, 2015 Author Share Posted December 24, 2015 Loaded sunxi module (modprobe sunxi), lsmod shows it, but OTG is still not powered. EDIT: Just installed 3.4 kernel and after script.bin modification OTG works OK. So it is not HW problem. Link to comment Share on other sites More sharing options...
wildcat_paris Posted December 24, 2015 Share Posted December 24, 2015 FYI, I probably have the same issue on lamobo-r1, I was never able to use the "OTG" microusb port Link to comment Share on other sites More sharing options...
technik007_cz Posted December 26, 2015 Share Posted December 26, 2015 Try to use bin files from Bananian images https://www.bananian.org/download. Download image of Jessie for example, unpack zip folder and you can mount image with gnome-disk-utility (gnome-disks command if you are running Ubuntu based system). When is first partition mounted go to fex/BananaPi-OTG/. I think you just need to replace script.bin in your armbian image or just part of it. Link to comment Share on other sites More sharing options...
Igor Posted December 26, 2015 Share Posted December 26, 2015 Try to use bin files from Bananian images https://www.bananian.org/download. Download image of Jessie for example, unpack zip folder and you can mount image with gnome-disk-utility (gnome-disks command if you are running Ubuntu based system). When is first partition mounted go to fex/BananaPi-OTG/. I think you just need to replace script.bin in your armbian image or just part of it. The problem is in kernel 4.x ... Link to comment Share on other sites More sharing options...
sooperior Posted April 9, 2016 Share Posted April 9, 2016 I have armbian with kernel 4.4 and it works out of the box... 50%. If I use a Y connector (power from another USB and data from otg port) it works correctly. It is not a problem because I have USB power nearby and a stock Y cable, but it is not they way it is expected to work (In fact I was going crazy until I read in another post from Igor that port is not powered) Link to comment Share on other sites More sharing options...
zador.blood.stained Posted April 9, 2016 Share Posted April 9, 2016 I have armbian with kernel 4.4 and it works out of the box... 50%. If I use a Y connector (power from another USB and data from otg port) it works correctly. It is not a problem because I have USB power nearby and a stock Y cable, but it is not they way it is expected to work (In fact I was going crazy until I read in another post from Igor that port is not powered) Powering USB OTG port on Banana Pi is not implemented in mainline kernel - it is wired in non-standart (compared i.e. to cubietruck) way. In theory it's possible to do it manually, but using Y-cable should be more safe anyway. Link to comment Share on other sites More sharing options...
chradev Posted April 27, 2016 Share Posted April 27, 2016 Hi to All, I also try to use USB OTG on Lime 2 board without success. I use Armbian (from SVN) customized and build by me with U-Boot 2016.05-rc1 and kernel 4.5.2. After checking sun7i-a20-olinuxino-lime2.dts (generated by dtc) I apply proposed by Igor patch: ... &usb_otg { - dr_mode = "otg"; + dr_mode = "host"; status = "okay"; }; compile dts file to dtb and copy it back to /boot/dtb. Unfortunately, USB OTG did not work but I see following inside boot messages: [ 3.369524] sun4i-usb-phy 1c13400.phy: could not find pctldev for node /soc@01c00000/pinctrl@01c20800/usb0_id_detect_pin@0, deferring probe I do not change anything else and verify that there is dts node for usb0_id_detect_pin. It is strange to see sun4i-usb-phy ... and why usb0_id_detect_pin is used in case of selecting HOST only mode? Where could be the problem? EDIT: I go back to dr_mode = "otg" and find that probably USB is recognized in both cases but usb0-vbus is disabled for some reason: [ 3.254763] reg-fixed-voltage usb0-vbus: could not find pctldev for node /soc@01c00000/pinctrl@01c20800/usb0_vbus_pin@0, deferring probe[ 3.254800] reg-fixed-voltage usb1-vbus: could not find pctldev for node /soc@01c00000/pinctrl@01c20800/usb1_vbus_pin@0, deferring probe[ 3.254834] reg-fixed-voltage usb2-vbus: could not find pctldev for node /soc@01c00000/pinctrl@01c20800/usb2_vbus_pin@0, deferring probe[ 3.257728] usbcore: registered new interface driver usbfs[ 3.257804] usbcore: registered new interface driver hub[ 3.257907] usbcore: registered new device driver usb[ 3.369483] sun4i-usb-phy 1c13400.phy: could not find pctldev for node /soc@01c00000/pinctrl@01c20800/usb0_id_detect_pin@0, deferring probe[ 3.493156] usbcore: registered new interface driver usb-storage[ 3.601446] usbcore: registered new interface driver usbhid[ 3.601453] usbhid: USB HID core driver[ 3.682401] ehci-platform 1c14000.usb: EHCI Host Controller[ 3.682452] ehci-platform 1c14000.usb: new USB bus registered, assigned bus number 1[ 3.682710] ehci-platform 1c14000.usb: irq 29, io mem 0x01c14000[ 3.700016] ehci-platform 1c14000.usb: USB 2.0 started, EHCI 1.00[ 3.700386] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002[ 3.700400] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1[ 3.700410] usb usb1: Product: EHCI Host Controller[ 3.700419] usb usb1: Manufacturer: Linux 4.5.2-sunxi ehci_hcd[ 3.700428] usb usb1: SerialNumber: 1c14000.usb[ 3.702306] ehci-platform 1c1c000.usb: EHCI Host Controller[ 3.702362] ehci-platform 1c1c000.usb: new USB bus registered, assigned bus number 2[ 3.702617] ehci-platform 1c1c000.usb: irq 33, io mem 0x01c1c000[ 3.720002] ehci-platform 1c1c000.usb: USB 2.0 started, EHCI 1.00[ 3.720332] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002[ 3.720346] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1[ 3.720356] usb usb2: Product: EHCI Host Controller[ 3.720365] usb usb2: Manufacturer: Linux 4.5.2-sunxi ehci_hcd[ 3.720374] usb usb2: SerialNumber: 1c1c000.usb[ 3.722163] ohci-platform 1c14400.usb: Generic Platform OHCI controller[ 3.722206] ohci-platform 1c14400.usb: new USB bus registered, assigned bus number 3[ 3.722440] ohci-platform 1c14400.usb: irq 30, io mem 0x01c14400[ 3.784331] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001[ 3.784346] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1[ 3.784356] usb usb3: Product: Generic Platform OHCI controller[ 3.784366] usb usb3: Manufacturer: Linux 4.5.2-sunxi ohci_hcd[ 3.784375] usb usb3: SerialNumber: 1c14400.usb[ 3.786187] ohci-platform 1c1c400.usb: Generic Platform OHCI controller[ 3.786248] ohci-platform 1c1c400.usb: new USB bus registered, assigned bus number 4[ 3.786499] ohci-platform 1c1c400.usb: irq 34, io mem 0x01c1c400[ 3.844318] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001[ 3.844336] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1[ 3.844347] usb usb4: Product: Generic Platform OHCI controller[ 3.844356] usb usb4: Manufacturer: Linux 4.5.2-sunxi ohci_hcd[ 3.844366] usb usb4: SerialNumber: 1c1c400.usb[ 3.846329] usb_phy_generic.0.auto supply vcc not found, using dummy regulator[ 3.846918] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver[ 3.846939] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 5[ 3.847378] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002[ 3.847394] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1[ 3.847404] usb usb5: Product: MUSB HDRC host driver[ 3.847413] usb usb5: Manufacturer: Linux 4.5.2-sunxi musb-hcd[ 3.847422] usb usb5: SerialNumber: musb-hdrc.1.auto[ 3.876821] usb0-vbus: disabling[ 4.040024] usb 2-1: new high-speed USB device number 2 using ehci-platform[ 4.208615] usb 2-1: New USB device found, idVendor=148f, idProduct=5370[ 4.208645] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3[ 4.208656] usb 2-1: Product: 802.11 n WLAN[ 4.208666] usb 2-1: Manufacturer: Ralink[ 4.208850] usb 2-1: SerialNumber: 1.0[ 7.080184] usb 2-1: reset high-speed USB device number 2 using ehci-platform[ 7.296089] usbcore: registered new interface driver rt2800usb To verify if the problem is in USB OTG powering I have connected to it a self powered device. Unfortunately, it does not work while connecting it to one of the USB Host ports it works. Best regards Chris Link to comment Share on other sites More sharing options...
Recommended Posts