arjepsen Posted February 8, 2019 Share Posted February 8, 2019 Hey. I'm trying to install octoprint on my Opi Zero +2, using the latest armbian image I found here on the site. Installation works fine, and I get the web interface up and running no problem. But I have connected power to the board on the gpio pins, and want to use the mini-usb to connect to the 3d printer. I have enabled usbhost0-3 in the hardware in armbian-config, but still it seems the printer cannot be reached. I read some older posts regarding other boards, where the solution seemed to be recompiling. Is this a necessity, and if so, could someone please point me to a walkthrough? Regards Anders Link to comment Share on other sites More sharing options...
martinayotte Posted February 8, 2019 Share Posted February 8, 2019 2 hours ago, arjepsen said: but still it seems the printer cannot be reached What "lsusb" is showing ? What "dmesg | grep usb" is showing ? Link to comment Share on other sites More sharing options...
arjepsen Posted February 8, 2019 Author Share Posted February 8, 2019 lsusb gives: Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub and dmesg: [ 0.000000] Kernel command line: root=UUID=289bd460-9951-431f-bf37-6007ea923b14 rootwait rootfstype=ext4 console=ttyS0,115200 console=tty1 panic=10 consoleblank=0 loglevel=1 ubootpart= usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u cgroup_enable=memory swapaccount=1 [ 1.283924] usbcore: registered new interface driver usbfs [ 1.283961] usbcore: registered new interface driver hub [ 1.284015] usbcore: registered new device driver usb [ 2.408662] ehci-platform 1c1a000.usb: EHCI Host Controller [ 2.408685] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1 [ 2.409219] ehci-platform 1c1a000.usb: irq 11, io mem 0x01c1a000 [ 2.421479] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00 [ 2.421715] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 [ 2.421722] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.421728] usb usb1: Product: EHCI Host Controller [ 2.421734] usb usb1: Manufacturer: Linux 4.19.17-sunxi64 ehci_hcd [ 2.421739] usb usb1: SerialNumber: 1c1a000.usb [ 2.422737] ehci-platform 1c1b000.usb: EHCI Host Controller [ 2.422755] ehci-platform 1c1b000.usb: new USB bus registered, assigned bus number 2 [ 2.423243] ehci-platform 1c1b000.usb: irq 13, io mem 0x01c1b000 [ 2.437485] ehci-platform 1c1b000.usb: USB 2.0 started, EHCI 1.00 [ 2.437675] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 [ 2.437682] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.437688] usb usb2: Product: EHCI Host Controller [ 2.437693] usb usb2: Manufacturer: Linux 4.19.17-sunxi64 ehci_hcd [ 2.437698] usb usb2: SerialNumber: 1c1b000.usb [ 2.438615] ehci-platform 1c1c000.usb: EHCI Host Controller [ 2.438633] ehci-platform 1c1c000.usb: new USB bus registered, assigned bus number 3 [ 2.439082] ehci-platform 1c1c000.usb: irq 15, io mem 0x01c1c000 [ 2.453484] ehci-platform 1c1c000.usb: USB 2.0 started, EHCI 1.00 [ 2.453665] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 [ 2.453672] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.453677] usb usb3: Product: EHCI Host Controller [ 2.453683] usb usb3: Manufacturer: Linux 4.19.17-sunxi64 ehci_hcd [ 2.453688] usb usb3: SerialNumber: 1c1c000.usb [ 2.454566] ehci-platform 1c1d000.usb: EHCI Host Controller [ 2.454583] ehci-platform 1c1d000.usb: new USB bus registered, assigned bus number 4 [ 2.455038] ehci-platform 1c1d000.usb: irq 17, io mem 0x01c1d000 [ 2.469474] ehci-platform 1c1d000.usb: USB 2.0 started, EHCI 1.00 [ 2.469655] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 [ 2.469662] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.469667] usb usb4: Product: EHCI Host Controller [ 2.469672] usb usb4: Manufacturer: Linux 4.19.17-sunxi64 ehci_hcd [ 2.469677] usb usb4: SerialNumber: 1c1d000.usb [ 2.470775] ohci-platform 1c1a400.usb: Generic Platform OHCI controller [ 2.470798] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 5 [ 2.471052] ohci-platform 1c1a400.usb: irq 12, io mem 0x01c1a400 [ 2.533722] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19 [ 2.533729] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.533735] usb usb5: Product: Generic Platform OHCI controller [ 2.533741] usb usb5: Manufacturer: Linux 4.19.17-sunxi64 ohci_hcd [ 2.533746] usb usb5: SerialNumber: 1c1a400.usb [ 2.534673] ohci-platform 1c1b400.usb: Generic Platform OHCI controller [ 2.534696] ohci-platform 1c1b400.usb: new USB bus registered, assigned bus number 6 [ 2.534972] ohci-platform 1c1b400.usb: irq 14, io mem 0x01c1b400 [ 2.597725] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19 [ 2.597732] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.597738] usb usb6: Product: Generic Platform OHCI controller [ 2.597743] usb usb6: Manufacturer: Linux 4.19.17-sunxi64 ohci_hcd [ 2.597748] usb usb6: SerialNumber: 1c1b400.usb [ 2.598651] ohci-platform 1c1c400.usb: Generic Platform OHCI controller [ 2.598669] ohci-platform 1c1c400.usb: new USB bus registered, assigned bus number 7 [ 2.598948] ohci-platform 1c1c400.usb: irq 16, io mem 0x01c1c400 [ 2.661728] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19 [ 2.661736] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.661741] usb usb7: Product: Generic Platform OHCI controller [ 2.661747] usb usb7: Manufacturer: Linux 4.19.17-sunxi64 ohci_hcd [ 2.661752] usb usb7: SerialNumber: 1c1c400.usb [ 2.662633] ohci-platform 1c1d400.usb: Generic Platform OHCI controller [ 2.662650] ohci-platform 1c1d400.usb: new USB bus registered, assigned bus number 8 [ 2.662914] ohci-platform 1c1d400.usb: irq 18, io mem 0x01c1d400 [ 2.725722] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19 [ 2.725729] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.725735] usb usb8: Product: Generic Platform OHCI controller [ 2.725740] usb usb8: Manufacturer: Linux 4.19.17-sunxi64 ohci_hcd [ 2.725745] usb usb8: SerialNumber: 1c1d400.usb [ 2.727096] usbcore: registered new interface driver usb-storage [ 2.731595] usbcore: registered new interface driver usbhid [ 2.731597] usbhid: USB HID core driver Link to comment Share on other sites More sharing options...
martinayotte Posted February 9, 2019 Share Posted February 9, 2019 Can you "unplug/plug" your USB device and redo "dmesg | grep usb" again ? Did you provide "+5V" to your USB connectors or did you use an already built hat/piggyback board ? Link to comment Share on other sites More sharing options...
arjepsen Posted February 9, 2019 Author Share Posted February 9, 2019 I've soldered two wires to pin-hole 2 and 4 on the expansion port. 5v is supplied from an ATX pc psu. Heres the dmesg command after unplugging/plugging: [ 0.000000] Kernel command line: root=UUID=289bd460-9951-431f-bf37-6007ea923b14 rootwait rootfstype=ext4 console=ttyS0,115200 console=tty1 panic=10 consoleblank=0 loglevel=1 ubootpart= usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u cgroup_enable=memory swapaccount=1 [ 1.283959] usbcore: registered new interface driver usbfs [ 1.283996] usbcore: registered new interface driver hub [ 1.284051] usbcore: registered new device driver usb [ 2.408156] ehci-platform 1c1a000.usb: EHCI Host Controller [ 2.408178] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1 [ 2.408713] ehci-platform 1c1a000.usb: irq 11, io mem 0x01c1a000 [ 2.421513] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00 [ 2.421741] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 [ 2.421748] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.421754] usb usb1: Product: EHCI Host Controller [ 2.421760] usb usb1: Manufacturer: Linux 4.19.17-sunxi64 ehci_hcd [ 2.421765] usb usb1: SerialNumber: 1c1a000.usb [ 2.422793] ehci-platform 1c1b000.usb: EHCI Host Controller [ 2.422816] ehci-platform 1c1b000.usb: new USB bus registered, assigned bus number 2 [ 2.423299] ehci-platform 1c1b000.usb: irq 13, io mem 0x01c1b000 [ 2.437518] ehci-platform 1c1b000.usb: USB 2.0 started, EHCI 1.00 [ 2.437719] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 [ 2.437726] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.437732] usb usb2: Product: EHCI Host Controller [ 2.437737] usb usb2: Manufacturer: Linux 4.19.17-sunxi64 ehci_hcd [ 2.437742] usb usb2: SerialNumber: 1c1b000.usb [ 2.438659] ehci-platform 1c1c000.usb: EHCI Host Controller [ 2.438677] ehci-platform 1c1c000.usb: new USB bus registered, assigned bus number 3 [ 2.439143] ehci-platform 1c1c000.usb: irq 15, io mem 0x01c1c000 [ 2.453507] ehci-platform 1c1c000.usb: USB 2.0 started, EHCI 1.00 [ 2.453690] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 [ 2.453697] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.453703] usb usb3: Product: EHCI Host Controller [ 2.453708] usb usb3: Manufacturer: Linux 4.19.17-sunxi64 ehci_hcd [ 2.453713] usb usb3: SerialNumber: 1c1c000.usb [ 2.454591] ehci-platform 1c1d000.usb: EHCI Host Controller [ 2.454608] ehci-platform 1c1d000.usb: new USB bus registered, assigned bus number 4 [ 2.455053] ehci-platform 1c1d000.usb: irq 17, io mem 0x01c1d000 [ 2.469518] ehci-platform 1c1d000.usb: USB 2.0 started, EHCI 1.00 [ 2.469691] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 [ 2.469698] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.469704] usb usb4: Product: EHCI Host Controller [ 2.469709] usb usb4: Manufacturer: Linux 4.19.17-sunxi64 ehci_hcd [ 2.469714] usb usb4: SerialNumber: 1c1d000.usb [ 2.470809] ohci-platform 1c1a400.usb: Generic Platform OHCI controller [ 2.470827] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 5 [ 2.471093] ohci-platform 1c1a400.usb: irq 12, io mem 0x01c1a400 [ 2.533695] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19 [ 2.533702] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.533707] usb usb5: Product: Generic Platform OHCI controller [ 2.533713] usb usb5: Manufacturer: Linux 4.19.17-sunxi64 ohci_hcd [ 2.533718] usb usb5: SerialNumber: 1c1a400.usb [ 2.534651] ohci-platform 1c1b400.usb: Generic Platform OHCI controller [ 2.534668] ohci-platform 1c1b400.usb: new USB bus registered, assigned bus number 6 [ 2.534966] ohci-platform 1c1b400.usb: irq 14, io mem 0x01c1b400 [ 2.597847] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19 [ 2.597854] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.597859] usb usb6: Product: Generic Platform OHCI controller [ 2.597865] usb usb6: Manufacturer: Linux 4.19.17-sunxi64 ohci_hcd [ 2.597870] usb usb6: SerialNumber: 1c1b400.usb [ 2.598776] ohci-platform 1c1c400.usb: Generic Platform OHCI controller [ 2.598794] ohci-platform 1c1c400.usb: new USB bus registered, assigned bus number 7 [ 2.599072] ohci-platform 1c1c400.usb: irq 16, io mem 0x01c1c400 [ 2.661858] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19 [ 2.661865] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.661871] usb usb7: Product: Generic Platform OHCI controller [ 2.661876] usb usb7: Manufacturer: Linux 4.19.17-sunxi64 ohci_hcd [ 2.661882] usb usb7: SerialNumber: 1c1c400.usb [ 2.662776] ohci-platform 1c1d400.usb: Generic Platform OHCI controller [ 2.662793] ohci-platform 1c1d400.usb: new USB bus registered, assigned bus number 8 [ 2.663069] ohci-platform 1c1d400.usb: irq 18, io mem 0x01c1d400 [ 2.725845] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19 [ 2.725852] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.725858] usb usb8: Product: Generic Platform OHCI controller [ 2.725863] usb usb8: Manufacturer: Linux 4.19.17-sunxi64 ohci_hcd [ 2.725869] usb usb8: SerialNumber: 1c1d400.usb [ 2.727225] usbcore: registered new interface driver usb-storage [ 2.731090] usbcore: registered new interface driver usbhid [ 2.731092] usbhid: USB HID core driver Link to comment Share on other sites More sharing options...
martinayotte Posted February 9, 2019 Share Posted February 9, 2019 9 minutes ago, arjepsen said: I've soldered two wires to pin-hole 2 and 4 on the expansion port. What is this expansion board ? Do you have schematics ? 10 minutes ago, arjepsen said: Heres the dmesg command after unplugging/plugging: We don't see any unplug/plug activity in this log ... Link to comment Share on other sites More sharing options...
arjepsen Posted February 9, 2019 Author Share Posted February 9, 2019 It's not an expansion board. Here's what I'm refering to: http://linux-sunxi.org/Xunlong_Orange_Pi_Zero_Plus_2#Expansion_Port Yes - there doesn't seem to be any activity, even though I physically unplugged and plugged back in. I assume that the usb-otg port is not in "host" mode, even though I activated the usbhost0 overlay? Link to comment Share on other sites More sharing options...
martinayotte Posted February 9, 2019 Share Posted February 9, 2019 3 hours ago, arjepsen said: pin-hole 2 and 4 on the expansion port But did you also connected pin 3 ? Is the ATX Supply GND is connected to GND of OPi ? Link to comment Share on other sites More sharing options...
arjepsen Posted February 9, 2019 Author Share Posted February 9, 2019 no - only pin 2 and 4. Should pin 3 also be connected? If so - why? As far as I can tell, it's function is listed as: TWI0_SDA / PA12 / GPIO12 Pin 2 is connected to 5v, and pin 4 to ground - both on the atx supply. According to the link I posted, pin 4 (among others) are ground on the Opi. Since I've been able to boot, and install armbian, having it powered like this, I assume the power is connected correctly? Link to comment Share on other sites More sharing options...
martinayotte Posted February 10, 2019 Share Posted February 10, 2019 18 hours ago, arjepsen said: no - only pin 2 and 4. Should pin 3 also be connected? According to pinout provided in the link : 1 5V 2 GND 3 USB-DM2 4 USB-DP2 5 USB-DM3 6 USB-DP3 So, GND on pin 2 should be connected to GND of ATX, and your USB connector should use USB-DM2/USB-DP2 ... Link to comment Share on other sites More sharing options...
arjepsen Posted February 10, 2019 Author Share Posted February 10, 2019 I'm sorry - I've probably been too vague in describing what I'm aiming for. You're refering to the 1x13 header. I've connected power to the 2x13 header. But my problem is: I want to use the small micro-usb port that for the printer. The port that I would otherwise normally use for powering the board. That's the reason I've connected power to the pins of the 2x13 header. But I can't seem to get that port to work as a regular usb host. Link to comment Share on other sites More sharing options...
martinayotte Posted February 10, 2019 Share Posted February 10, 2019 45 minutes ago, arjepsen said: I've connected power to the 2x13 header. ... but there is no USB port on this one ... 46 minutes ago, arjepsen said: I want to use the small micro-usb port that for the printer. In this case , you absolutely needs to have USB node in DT with : dr_mode = "host"; Using 1x13 header could be use easily with adaptors like : https://www.ebay.ca/itm/10PCS-USB-Female-Port-Connector-Breakout-Board-Power-2-54mm-Header-for-Arduino/132482993278 Link to comment Share on other sites More sharing options...
arjepsen Posted February 11, 2019 Author Share Posted February 11, 2019 18 hours ago, martinayotte said: In this case , you absolutely needs to have USB node in DT with : dr_mode = "host"; Ok. Could you give some details on how to get this done? Link to comment Share on other sites More sharing options...
martinayotte Posted February 11, 2019 Share Posted February 11, 2019 44 minutes ago, arjepsen said: Ok. Could you give some details on how to get this done? First, install DeviceTree compiler : wget http://ftp.debian.org/debian/pool/main/d/device-tree-compiler/device-tree-compiler_1.4.7-3_arm64.deb dpkg -i device-tree-compiler_1.4.7-3_arm64.deb Second, de-compile the main DT of OPiZeroPlus2-H5 : dtc -@ -I dtb -O dts -o sun50i-h5-orangepi-zero-plus2.dts-NEW /boot/dtb/allwinner/sun50i-h5-orangepi-zero-plus2.dtb Edit the sun50i-h5-orangepi-zero-plus2.dts-NEW file, locate the node "usb@1c19000", and add the property ' dr_mode = "host"; ' into it, and change "status" to "okay". Then, recompile it after having done a backup : mv /boot/dtb/allwinner/sun50i-h5-orangepi-zero-plus2.dtb /boot/dtb/allwinner/sun50i-h5-orangepi-zero-plus2.dtb-ORIG dtc -@ -I dts -O dtb -o /boot/dtb/allwinner/sun50i-h5-orangepi-zero-plus2.dtb sun50i-h5-orangepi-zero-plus2.dts-NEW Then, do a "sync" followed by "reboot" ... I wasn't able to test complete recipe, since my USB-OTG cable is taking the 5V from the board, but it is not present when PSU is attached to header pins 4/6 . Link to comment Share on other sites More sharing options...
hello_world.c Posted February 21, 2019 Share Posted February 21, 2019 This is also my procedure that I have to go through every time there is a kernel upgrade. Really wish that either armbian-config would point out the fact that setting "host mode" here may or may not be effective, and the dtc trickery is necessary for OTG ports or (better) armbian-config would offer to do the patching of the dtb when the OTG port is changed to "host mode" or (best) there was a way for custom dtb settings to automatically "survive" a kernel upgrade Link to comment Share on other sites More sharing options...
Recommended Posts