arjepsen Posted February 8, 2019 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
martinayotte Posted February 8, 2019 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 ?
arjepsen Posted February 8, 2019 Author 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
martinayotte Posted February 9, 2019 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 ?
arjepsen Posted February 9, 2019 Author 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
martinayotte Posted February 9, 2019 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 ...
arjepsen Posted February 9, 2019 Author 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?
martinayotte Posted February 9, 2019 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 ?
arjepsen Posted February 9, 2019 Author 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?
martinayotte Posted February 10, 2019 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 ...
arjepsen Posted February 10, 2019 Author 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.
martinayotte Posted February 10, 2019 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
arjepsen Posted February 11, 2019 Author 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?
martinayotte Posted February 11, 2019 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 .
hello_world.c Posted February 21, 2019 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
Recommended Posts