Booting and installing on the Olimex Teres laptop

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Booting and installing on the Olimex Teres laptop

mujo

I have been able to successfully install OpenBSD Current Aug 06
2019 on the Olimex Teres laptop.  It has very similar hardware to
the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
ports tree.

To complete kernel initialization from either the install bsd.rd
or bsd from an install, the ohci driver must be disabled.  I have
included the serial console output and dmesg of first a boot without
the ohci driver disabled, and then the boot log of my successful
install with ohci disabled.  According to linux dmesg or the
sun50i-a64-teres-i.dts, ohci is available so the driver is probed
correctly - but even after several minutes the initialization process
will not continue past the line "ohci0 at simplebus0".

What works: the embedded mmc and external mmc, external usb ports,
the serial line, and if xorg is running, the display.  What does
not: wifi (as expected, realtek 8723bs), keyboard and trackpad.

Please let me know if there is anything I can do to help improve
support for this platform.  I tried building a DEBUG kernel and
booting with "verbose" from the UKC> prompt but did not find any
useful (afaik) information. I don't know how else to get more verbose
information from the initialization process (add printf's to the
driver code?).

Thanks.


U-Boot SPL 2019.07 (Aug 06 2019 - 22:39:39 +0000)
DRAM: 2048 MiB
Trying to boot from MMC2
NOTICE:  BL31: v2.1(release):v2.1
NOTICE:  BL31: Built : 22:20:23, Aug  6 2019
NOTICE:  BL31: Detected Allwinner A64/H64/R18 SoC (1689)
NOTICE:  BL31: Found U-Boot DTB at 0x408a4a0, model: Olimex A64 Teres-I
NOTICE:  BL31: PMIC: Detected AXP803 on RSB.


U-Boot 2019.07 (Aug 06 2019 - 22:39:39 +0000) Allwinner Technology

CPU:   Allwinner A64 (SUN50I)
Model: Olimex A64 Teres-I
DRAM:  2 GiB
MMC:   Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
Bus usb@1c1b000: USB EHCI 1.00
scanning bus usb@1c1b000 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
19606 bytes read in 4 ms (4.7 MiB/s)
Found EFI removable media binary efi/boot/bootaa64.efi
MMC: no card present
Scanning disk [hidden email]...
Disk [hidden email] not ready
Card did not respond to voltage select!
Scanning disk [hidden email]...
Disk [hidden email] not ready
Scanning disk [hidden email]...
Found 3 disks
BootOrder not defined
EFI boot manager: Cannot load any image
159484 bytes read in 10 ms (15.2 MiB/s)
disks: sd0*
>> OpenBSD/arm64 BOOTAA64 0.17
boot>
booting sd0a:/bsd: 6060108+1228568+514296+816936 [422297+109+714912+416614]=0xac09f8
type 0x2 pa 0x40000000 va 0x40000000 pages 0x4000 attr 0x8
type 0x7 pa 0x44000000 va 0x44000000 pages 0x3ef8 attr 0x8
type 0x4 pa 0x47ef8000 va 0x47ef8000 pages 0x10 attr 0x8
type 0x7 pa 0x47f08000 va 0x47f08000 pages 0x705e9 attr 0x8
type 0x2 pa 0xb84f1000 va 0xb84f1000 pages 0xa0e attr 0x8
type 0x1 pa 0xb8eff000 va 0xb8eff000 pages 0x27 attr 0x8
type 0x0 pa 0xb8f26000 va 0xb8f26000 pages 0x7 attr 0x8
type 0x6 pa 0xb8f2d000 va 0x9b4d7f000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0xb8f2e000 va 0xb8f2e000 pages 0x3 attr 0x8
type 0x6 pa 0xb8f31000 va 0x9b4d83000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0xb8f32000 va 0xb8f32000 pages 0x1 attr 0x8
type 0x2 pa 0xb8f33000 va 0xb8f33000 pages 0x501d attr 0x8
type 0x5 pa 0xbdf50000 va 0x9b9da2000 pages 0x10 attr 0x8000000000000008
type 0x2 pa 0xbdf60000 va 0xbdf60000 pages 0xa0 attr 0x8
type 0x0 pa 0xbe000000 va 0xbe000000 pages 0x401 attr 0x8
type 0x2 pa 0xbe401000 va 0xbe401000 pages 0x1bff attr 0x8
[ using 1554904 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2019 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 6.5-current (GENERIC.MP) #158: Tue Aug  6 16:46:13 MDT 2019
    [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem  = 2018381824 (1924MB)
avail mem = 1928839168 (1839MB)
mainbus0 at root: Olimex A64 Teres-I
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.7
efi0: Das U-Boot rev 0x20190700
apm0 at mainbus0
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
"osc24M_clk" at mainbus0 not configured
"osc32k_clk" at mainbus0 not configured
"internal-osc-clk" at mainbus0 not configured
"sound_spdif" at mainbus0 not configured
"spdif-out" at mainbus0 not configured
agtimer0 at mainbus0: tick rate 24000 KHz
simplebus0 at mainbus0: "soc"
sxiccmu0 at simplebus0
sxipio0 at simplebus0: 103 pins
ampintc0 at simplebus0 nirq 224, ncpu 4 ipi: 0, 1: "interrupt-controller"
sxiccmu1 at simplebus0
sxipio1 at simplebus0: 13 pins
sxirsb0 at simplebus0
axppmic0 at sxirsb0 addr 0x3a3: AXP803
"de2" at simplebus0 not configured
"syscon" at simplebus0 not configured
"dma-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
sximmc0 at simplebus0
sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
sximmc1 at simplebus0
sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
sximmc2 at simplebus0
sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
"eeprom" at simplebus0 not configured
"phy" at simplebus0 not configured
ehci0 at simplebus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
ohci0 at simplebus0

#############
It is at this point ^^^ that the boot process stops proceeding indefinitely.
#############


U-Boot SPL 2019.07 (Aug 06 2019 - 22:39:39 +0000)
DRAM: 2048 MiB
Trying to boot from MMC2
NOTICE:  BL31: v2.1(release):v2.1
NOTICE:  BL31: Built : 22:20:23, Aug  6 2019
NOTICE:  BL31: Detected Allwinner A64/H64/R18 SoC (1689)
NOTICE:  BL31: Found U-Boot DTB at 0x408a4a0, model: Olimex A64 Teres-I
NOTICE:  BL31: PMIC: Detected AXP803 on RSB.


U-Boot 2019.07 (Aug 06 2019 - 22:39:39 +0000) Allwinner Technology

CPU:   Allwinner A64 (SUN50I)
Model: Olimex A64 Teres-I
DRAM:  2 GiB
MMC:   Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
Bus usb@1c1b000: USB EHCI 1.00
scanning bus usb@1c1b000 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
19606 bytes read in 3 ms (6.2 MiB/s)
Found EFI removable media binary efi/boot/bootaa64.efi
MMC: no card present
Scanning disk [hidden email]...
Disk [hidden email] not ready
Card did not respond to voltage select!
Scanning disk [hidden email]...
Disk [hidden email] not ready
Scanning disk [hidden email]...
Found 3 disks
BootOrder not defined
EFI boot manager: Cannot load any image
159484 bytes read in 10 ms (15.2 MiB/s)
disks: sd0*
>> OpenBSD/arm64 BOOTAA64 0.17
boot> boot sd0a:/bsd -c
booting sd0a:/bsd: 6060108+1228568+514296+816936 [422297+109+714912+416614]=0xac09f8
type 0x2 pa 0x40000000 va 0x40000000 pages 0x4000 attr 0x8
type 0x7 pa 0x44000000 va 0x44000000 pages 0x3ef8 attr 0x8
type 0x4 pa 0x47ef8000 va 0x47ef8000 pages 0x10 attr 0x8
type 0x7 pa 0x47f08000 va 0x47f08000 pages 0x705e9 attr 0x8
type 0x2 pa 0xb84f1000 va 0xb84f1000 pages 0xa0e attr 0x8
type 0x1 pa 0xb8eff000 va 0xb8eff000 pages 0x27 attr 0x8
type 0x0 pa 0xb8f26000 va 0xb8f26000 pages 0x7 attr 0x8
type 0x6 pa 0xb8f2d000 va 0x9b4d7f000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0xb8f2e000 va 0xb8f2e000 pages 0x3 attr 0x8
type 0x6 pa 0xb8f31000 va 0x9b4d83000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0xb8f32000 va 0xb8f32000 pages 0x1 attr 0x8
type 0x2 pa 0xb8f33000 va 0xb8f33000 pages 0x501d attr 0x8
type 0x5 pa 0xbdf50000 va 0x9b9da2000 pages 0x10 attr 0x8000000000000008
type 0x2 pa 0xbdf60000 va 0xbdf60000 pages 0xa0 attr 0x8
type 0x0 pa 0xbe000000 va 0xbe000000 pages 0x401 attr 0x8
type 0x2 pa 0xbe401000 va 0xbe401000 pages 0x1bff attr 0x8
[ using 1554904 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2019 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 6.5-current (GENERIC.MP) #158: Tue Aug  6 16:46:13 MDT 2019
    [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem  = 2018381824 (1924MB)
avail mem = 1928839168 (1839MB)
User Kernel Config
UKC> disable ohci
133 ohci* disabled
169 ohci* disabled
UKC> quit
Continuing...
mainbus0 at root: Olimex A64 Teres-I
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.7
efi0: Das U-Boot rev 0x20190700
apm0 at mainbus0
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
"osc24M_clk" at mainbus0 not configured
"osc32k_clk" at mainbus0 not configured
"internal-osc-clk" at mainbus0 not configured
"sound_spdif" at mainbus0 not configured
"spdif-out" at mainbus0 not configured
agtimer0 at mainbus0: tick rate 24000 KHz
simplebus0 at mainbus0: "soc"
sxiccmu0 at simplebus0
sxipio0 at simplebus0: 103 pins
ampintc0 at simplebus0 nirq 224, ncpu 4 ipi: 0, 1: "interrupt-controller"
sxiccmu1 at simplebus0
sxipio1 at simplebus0: 13 pins
sxirsb0 at simplebus0
axppmic0 at sxirsb0 addr 0x3a3: AXP803
"de2" at simplebus0 not configured
"syscon" at simplebus0 not configured
"dma-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
sximmc0 at simplebus0
sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
sximmc1 at simplebus0
sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
sximmc2 at simplebus0
sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
"eeprom" at simplebus0 not configured
"phy" at simplebus0 not configured
ehci0 at simplebus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
"usb" at simplebus0 not configured
com0 at simplebus0: ns16550, no working fifo
com0: console
sxitwi0 at simplebus0
iic0 at sxitwi0
"hdmi-phy" at simplebus0 not configured
sxirtc0 at simplebus0
"interrupt-controller" at simplebus0 not configured
"watchdog" at simplebus0 not configured
gpio0 at sxipio0: 32 pins
gpio1 at sxipio0: 32 pins
gpio2 at sxipio0: 32 pins
gpio3 at sxipio0: 32 pins
gpio4 at sxipio0: 32 pins
gpio5 at sxipio0: 32 pins
gpio6 at sxipio0: 32 pins
gpio7 at sxipio0: 32 pins
gpio8 at sxipio1: 32 pins
"gpio-keys" at mainbus0 not configured
"leds" at mainbus0 not configured
"usb1-vbus" at mainbus0 not configured
"wifi_pwrseq" at mainbus0 not configured
simplefb0 at mainbus0: 1366x768, 32bpp
wsdisplay0 at simplefb0 mux 1
wsdisplay0: screen 0-5 added (std, vt100 emulation)
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu1: 512KB 64b/line 16-way L2 cache
cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu2: 512KB 64b/line 16-way L2 cache
cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu3: 512KB 64b/line 16-way L2 cache
manufacturer 0x024c, product 0xb723 at sdmmc1 function 1 not configured
scsibus0 at sdmmc2: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <Micron, R1J56L, 0000> SCSI2 0/direct removable
sd0: 14080MB, 512 bytes/sector, 28835840 sectors
uhub1 at uhub0 port 1 configuration 1 interface 0 "Genesys Logic USB2.0 Hub" rev 2.00/85.36 addr 2
urtwn0 at uhub1 port 2 configuration 1 interface 0 "Realtek 802.11n NIC" rev 2.00/0.00 addr 3
urtwn0: MAC/BB RTL8188EU, RF 6052 1T1R, address 84:16:f9:1d:70:5c
uvideo0 at uhub1 port 3 configuration 1 interface 0 "Generic USB2.0 PC CAMERA" rev 2.00/1.00 addr 4
video0 at uvideo0
umodem0 at uhub1 port 4 configuration 1 interface 2 "Olimex Ltd. TERES Keyboard+Touchpad (drv)" rev 1.10/0.01 addr 5
umodem0: data interface 3, has no CM over data, has break
umodem0: status change notification available
ucom0 at umodem0
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on sd0a (7f4f193dd87e3ae5.a) swap on sd0b dump on sd0b
Automatic boot in progress: starting file system checks.
/dev/sd0a (7f4f193dd87e3ae5.a): file system is clean; not checking
/dev/sd0l (7f4f193dd87e3ae5.l): file system is clean; not checking
/dev/sd0d (7f4f193dd87e3ae5.d): file system is clean; not checking
/dev/sd0f (7f4f193dd87e3ae5.f): file system is clean; not checking
/dev/sd0g (7f4f193dd87e3ae5.g): file system is clean; not checking
/dev/sd0h (7f4f193dd87e3ae5.h): file system is clean; not checking
/dev/sd0k (7f4f193dd87e3ae5.k): file system is clean; not checking
/dev/sd0j (7f4f193dd87e3ae5.j): file system is clean; not checking
/dev/sd0e (7f4f193dd87e3ae5.e): file system is clean; not checking
pf enabled
ddb.console: 0 -> 1
starting network
urtwn0: no link... got link
urtwn0: no lease..... got lease
urtwn0: 192.168.1.28 lease accepted from 192.168.1.1 (c8:d7:19:d9:eb:54)
reordering libraries: done.
starting early daemons: syslogd pflogd ntpd.
starting RPC daemons:.
savecore: no core dump
checking quotas: done.
clearing /tmp
kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
starting network daemons: sshd smtpd sndiod.
starting local daemons: cron.
Sun Aug 11 16:25:28 PDT 2019

OpenBSD/arm64 (hedges.my.domain) (console)

login:

--
ioh

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

Matthieu Herrb-3
On Sun, Aug 11, 2019 at 11:49:10PM +0000, ioh wrote:

>
> I have been able to successfully install OpenBSD Current Aug 06
> 2019 on the Olimex Teres laptop.  It has very similar hardware to
> the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
> from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
> v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
> ports tree.
>
> To complete kernel initialization from either the install bsd.rd
> or bsd from an install, the ohci driver must be disabled.  I have
> included the serial console output and dmesg of first a boot without
> the ohci driver disabled, and then the boot log of my successful
> install with ohci disabled.  According to linux dmesg or the
> sun50i-a64-teres-i.dts, ohci is available so the driver is probed
> correctly - but even after several minutes the initialization process
> will not continue past the line "ohci0 at simplebus0".
>
> What works: the embedded mmc and external mmc, external usb ports,
> the serial line, and if xorg is running, the display.  What does
> not: wifi (as expected, realtek 8723bs), keyboard and trackpad.
>
> Please let me know if there is anything I can do to help improve
> support for this platform.  I tried building a DEBUG kernel and
> booting with "verbose" from the UKC> prompt but did not find any
> useful (afaik) information. I don't know how else to get more verbose
> information from the initialization process (add printf's to the
> driver code?).

> umodem0 at uhub1 port 4 configuration 1 interface 2 "Olimex Ltd. TERES Keyboard+Touchpad (drv)" rev 1.10/0.01 addr 5
> umodem0: data interface 3, has no CM over data, has break
> umodem0: status change notification available
> ucom0 at umodem0

That is a bit strange and explains why keyboard/touchpad don't work.

On the pinebook there is an internal usb hub on which attaches ate uhub1
and the keyboard and trackpad are uhid devices behind it.

uhub4 at uhub1 port 1 configuration 1 interface 0 "Genesys Logic USB2.0 Hub" rev 2.00/88.32 addr 2
uhidev0 at uhub4 port 1 configuration 1 interface 0 "HAILUCK CO.,LTD USB KEYBOARD" rev 1.10/1.00 addr 3
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 6 key codes
wskbd0 at ukbd0: console keyboard, using wsdisplay0
uhidev1 at uhub4 port 1 configuration 1 interface 1 "HAILUCK CO.,LTD USB KEYBOARD" rev 1.10/1.00 addr 3
uhidev1: iclass 3/0, 9 report ids
ums0 at uhidev1 reportid 1: 5 buttons, Z and W dir
wsmouse0 at ums0 mux 0

--
Matthieu Herrb

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

Mark Kettenis
In reply to this post by mujo
> Date: Sun, 11 Aug 2019 23:49:10 +0000
> From: ioh <[hidden email]>
>
> I have been able to successfully install OpenBSD Current Aug 06
> 2019 on the Olimex Teres laptop.  It has very similar hardware to
> the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
> from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
> v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
> ports tree.
>
> To complete kernel initialization from either the install bsd.rd
> or bsd from an install, the ohci driver must be disabled.  I have
> included the serial console output and dmesg of first a boot without
> the ohci driver disabled, and then the boot log of my successful
> install with ohci disabled.  According to linux dmesg or the
> sun50i-a64-teres-i.dts, ohci is available so the driver is probed
> correctly - but even after several minutes the initialization process
> will not continue past the line "ohci0 at simplebus0".

The hang at that point suggests that accessing the OHCI registers
hangs the machine.  That happened in the past when the relevant clock
wasn't running or when the OHCI logic block wasn't brought out of
reset.  But those issues got fixed and ohci(4) works fine on other
boards that use the Allwinner A64 SoC.  What seems to be different is
that the Teres-i only has the 2nd USB controller enabled.

> What works: the embedded mmc and external mmc, external usb ports,
> the serial line, and if xorg is running, the display.

The "arm64 glass console" diff I posted last weekend should give you a
framebuffer console.  Note that that diff is for the bootloader, so
you'll need to build and install it and then run installboot.  That
diff is probably going to be committed today or tomorrow so you could
just wait a few days for a new snapshot.

> What does not: wifi (as expected, realtek 8723bs), keyboard and
> trackpad.

There is some evidence of the keyboard that shows up in dmesg:

> umodem0 at uhub1 port 4 configuration 1 interface 2 "Olimex Ltd. TERES Keyboard+Touchpad (drv)" rev 1.10/0.01 addr 5
> umodem0: data interface 3, has no CM over data, has break
> umodem0: status change notification available
> ucom0 at umodem0

It'd be interesting to see what happens if you disable umoden(4) and
see what the USB descriptors are for that device.  For that purpose
install the usbutils package and post the output of "lsusb -v".

> Please let me know if there is anything I can do to help improve
> support for this platform.  I tried building a DEBUG kernel and
> booting with "verbose" from the UKC> prompt but did not find any
> useful (afaik) information. I don't know how else to get more verbose
> information from the initialization process (add printf's to the
> driver code?).

Adding printfs is probably the way to go here.  Start with
ohci_fdt_attach() in sys/dev/fdt/ohci_fdt.c and try to pinpoint at
which point it hangs.

> U-Boot SPL 2019.07 (Aug 06 2019 - 22:39:39 +0000)
> DRAM: 2048 MiB
> Trying to boot from MMC2
> NOTICE:  BL31: v2.1(release):v2.1
> NOTICE:  BL31: Built : 22:20:23, Aug  6 2019
> NOTICE:  BL31: Detected Allwinner A64/H64/R18 SoC (1689)
> NOTICE:  BL31: Found U-Boot DTB at 0x408a4a0, model: Olimex A64 Teres-I
> NOTICE:  BL31: PMIC: Detected AXP803 on RSB.
>
>
> U-Boot 2019.07 (Aug 06 2019 - 22:39:39 +0000) Allwinner Technology
>
> CPU:   Allwinner A64 (SUN50I)
> Model: Olimex A64 Teres-I
> DRAM:  2 GiB
> MMC:   Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
> mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
> Loading Environment from FAT... *** Warning - bad CRC, using default environment
>
> In:    serial
> Out:   vidconsole
> Err:   vidconsole
> Net:   No ethernet found.
> starting USB...
> Bus usb@1c1b000: USB EHCI 1.00
> scanning bus usb@1c1b000 for devices... 2 USB Device(s) found
>        scanning usb for storage devices... 0 Storage Device(s) found
> Hit any key to stop autoboot:  0
> switch to partitions #0, OK
> mmc1(part 0) is current device
> Scanning mmc 1:1...
> 19606 bytes read in 4 ms (4.7 MiB/s)
> Found EFI removable media binary efi/boot/bootaa64.efi
> MMC: no card present
> Scanning disk [hidden email]...
> Disk [hidden email] not ready
> Card did not respond to voltage select!
> Scanning disk [hidden email]...
> Disk [hidden email] not ready
> Scanning disk [hidden email]...
> Found 3 disks
> BootOrder not defined
> EFI boot manager: Cannot load any image
> 159484 bytes read in 10 ms (15.2 MiB/s)
> disks: sd0*
> >> OpenBSD/arm64 BOOTAA64 0.17
> boot>
> booting sd0a:/bsd: 6060108+1228568+514296+816936 [422297+109+714912+416614]=0xac09f8
> type 0x2 pa 0x40000000 va 0x40000000 pages 0x4000 attr 0x8
> type 0x7 pa 0x44000000 va 0x44000000 pages 0x3ef8 attr 0x8
> type 0x4 pa 0x47ef8000 va 0x47ef8000 pages 0x10 attr 0x8
> type 0x7 pa 0x47f08000 va 0x47f08000 pages 0x705e9 attr 0x8
> type 0x2 pa 0xb84f1000 va 0xb84f1000 pages 0xa0e attr 0x8
> type 0x1 pa 0xb8eff000 va 0xb8eff000 pages 0x27 attr 0x8
> type 0x0 pa 0xb8f26000 va 0xb8f26000 pages 0x7 attr 0x8
> type 0x6 pa 0xb8f2d000 va 0x9b4d7f000 pages 0x1 attr 0x8000000000000008
> type 0x0 pa 0xb8f2e000 va 0xb8f2e000 pages 0x3 attr 0x8
> type 0x6 pa 0xb8f31000 va 0x9b4d83000 pages 0x1 attr 0x8000000000000008
> type 0x0 pa 0xb8f32000 va 0xb8f32000 pages 0x1 attr 0x8
> type 0x2 pa 0xb8f33000 va 0xb8f33000 pages 0x501d attr 0x8
> type 0x5 pa 0xbdf50000 va 0x9b9da2000 pages 0x10 attr 0x8000000000000008
> type 0x2 pa 0xbdf60000 va 0xbdf60000 pages 0xa0 attr 0x8
> type 0x0 pa 0xbe000000 va 0xbe000000 pages 0x401 attr 0x8
> type 0x2 pa 0xbe401000 va 0xbe401000 pages 0x1bff attr 0x8
> [ using 1554904 bytes of bsd ELF symbol table ]
> Copyright (c) 1982, 1986, 1989, 1991, 1993
>         The Regents of the University of California.  All rights reserved.
> Copyright (c) 1995-2019 OpenBSD. All rights reserved.  https://www.OpenBSD.org
>
> OpenBSD 6.5-current (GENERIC.MP) #158: Tue Aug  6 16:46:13 MDT 2019
>     [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
> real mem  = 2018381824 (1924MB)
> avail mem = 1928839168 (1839MB)
> mainbus0 at root: Olimex A64 Teres-I
> cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
> cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu0: 512KB 64b/line 16-way L2 cache
> efi0 at mainbus0: UEFI 2.7
> efi0: Das U-Boot rev 0x20190700
> apm0 at mainbus0
> psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
> "osc24M_clk" at mainbus0 not configured
> "osc32k_clk" at mainbus0 not configured
> "internal-osc-clk" at mainbus0 not configured
> "sound_spdif" at mainbus0 not configured
> "spdif-out" at mainbus0 not configured
> agtimer0 at mainbus0: tick rate 24000 KHz
> simplebus0 at mainbus0: "soc"
> sxiccmu0 at simplebus0
> sxipio0 at simplebus0: 103 pins
> ampintc0 at simplebus0 nirq 224, ncpu 4 ipi: 0, 1: "interrupt-controller"
> sxiccmu1 at simplebus0
> sxipio1 at simplebus0: 13 pins
> sxirsb0 at simplebus0
> axppmic0 at sxirsb0 addr 0x3a3: AXP803
> "de2" at simplebus0 not configured
> "syscon" at simplebus0 not configured
> "dma-controller" at simplebus0 not configured
> "lcd-controller" at simplebus0 not configured
> "lcd-controller" at simplebus0 not configured
> sximmc0 at simplebus0
> sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
> sximmc1 at simplebus0
> sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
> sximmc2 at simplebus0
> sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
> "eeprom" at simplebus0 not configured
> "phy" at simplebus0 not configured
> ehci0 at simplebus0
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
> ohci0 at simplebus0
>
> #############
> It is at this point ^^^ that the boot process stops proceeding indefinitely.
> #############
>
>
> U-Boot SPL 2019.07 (Aug 06 2019 - 22:39:39 +0000)
> DRAM: 2048 MiB
> Trying to boot from MMC2
> NOTICE:  BL31: v2.1(release):v2.1
> NOTICE:  BL31: Built : 22:20:23, Aug  6 2019
> NOTICE:  BL31: Detected Allwinner A64/H64/R18 SoC (1689)
> NOTICE:  BL31: Found U-Boot DTB at 0x408a4a0, model: Olimex A64 Teres-I
> NOTICE:  BL31: PMIC: Detected AXP803 on RSB.
>
>
> U-Boot 2019.07 (Aug 06 2019 - 22:39:39 +0000) Allwinner Technology
>
> CPU:   Allwinner A64 (SUN50I)
> Model: Olimex A64 Teres-I
> DRAM:  2 GiB
> MMC:   Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
> mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
> Loading Environment from FAT... *** Warning - bad CRC, using default environment
>
> In:    serial
> Out:   vidconsole
> Err:   vidconsole
> Net:   No ethernet found.
> starting USB...
> Bus usb@1c1b000: USB EHCI 1.00
> scanning bus usb@1c1b000 for devices... 2 USB Device(s) found
>        scanning usb for storage devices... 0 Storage Device(s) found
> Hit any key to stop autoboot:  0
> switch to partitions #0, OK
> mmc1(part 0) is current device
> Scanning mmc 1:1...
> 19606 bytes read in 3 ms (6.2 MiB/s)
> Found EFI removable media binary efi/boot/bootaa64.efi
> MMC: no card present
> Scanning disk [hidden email]...
> Disk [hidden email] not ready
> Card did not respond to voltage select!
> Scanning disk [hidden email]...
> Disk [hidden email] not ready
> Scanning disk [hidden email]...
> Found 3 disks
> BootOrder not defined
> EFI boot manager: Cannot load any image
> 159484 bytes read in 10 ms (15.2 MiB/s)
> disks: sd0*
> >> OpenBSD/arm64 BOOTAA64 0.17
> boot> boot sd0a:/bsd -c
> booting sd0a:/bsd: 6060108+1228568+514296+816936 [422297+109+714912+416614]=0xac09f8
> type 0x2 pa 0x40000000 va 0x40000000 pages 0x4000 attr 0x8
> type 0x7 pa 0x44000000 va 0x44000000 pages 0x3ef8 attr 0x8
> type 0x4 pa 0x47ef8000 va 0x47ef8000 pages 0x10 attr 0x8
> type 0x7 pa 0x47f08000 va 0x47f08000 pages 0x705e9 attr 0x8
> type 0x2 pa 0xb84f1000 va 0xb84f1000 pages 0xa0e attr 0x8
> type 0x1 pa 0xb8eff000 va 0xb8eff000 pages 0x27 attr 0x8
> type 0x0 pa 0xb8f26000 va 0xb8f26000 pages 0x7 attr 0x8
> type 0x6 pa 0xb8f2d000 va 0x9b4d7f000 pages 0x1 attr 0x8000000000000008
> type 0x0 pa 0xb8f2e000 va 0xb8f2e000 pages 0x3 attr 0x8
> type 0x6 pa 0xb8f31000 va 0x9b4d83000 pages 0x1 attr 0x8000000000000008
> type 0x0 pa 0xb8f32000 va 0xb8f32000 pages 0x1 attr 0x8
> type 0x2 pa 0xb8f33000 va 0xb8f33000 pages 0x501d attr 0x8
> type 0x5 pa 0xbdf50000 va 0x9b9da2000 pages 0x10 attr 0x8000000000000008
> type 0x2 pa 0xbdf60000 va 0xbdf60000 pages 0xa0 attr 0x8
> type 0x0 pa 0xbe000000 va 0xbe000000 pages 0x401 attr 0x8
> type 0x2 pa 0xbe401000 va 0xbe401000 pages 0x1bff attr 0x8
> [ using 1554904 bytes of bsd ELF symbol table ]
> Copyright (c) 1982, 1986, 1989, 1991, 1993
>         The Regents of the University of California.  All rights reserved.
> Copyright (c) 1995-2019 OpenBSD. All rights reserved.  https://www.OpenBSD.org
>
> OpenBSD 6.5-current (GENERIC.MP) #158: Tue Aug  6 16:46:13 MDT 2019
>     [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
> real mem  = 2018381824 (1924MB)
> avail mem = 1928839168 (1839MB)
> User Kernel Config
> UKC> disable ohci
> 133 ohci* disabled
> 169 ohci* disabled
> UKC> quit
> Continuing...
> mainbus0 at root: Olimex A64 Teres-I
> cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
> cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu0: 512KB 64b/line 16-way L2 cache
> efi0 at mainbus0: UEFI 2.7
> efi0: Das U-Boot rev 0x20190700
> apm0 at mainbus0
> psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
> "osc24M_clk" at mainbus0 not configured
> "osc32k_clk" at mainbus0 not configured
> "internal-osc-clk" at mainbus0 not configured
> "sound_spdif" at mainbus0 not configured
> "spdif-out" at mainbus0 not configured
> agtimer0 at mainbus0: tick rate 24000 KHz
> simplebus0 at mainbus0: "soc"
> sxiccmu0 at simplebus0
> sxipio0 at simplebus0: 103 pins
> ampintc0 at simplebus0 nirq 224, ncpu 4 ipi: 0, 1: "interrupt-controller"
> sxiccmu1 at simplebus0
> sxipio1 at simplebus0: 13 pins
> sxirsb0 at simplebus0
> axppmic0 at sxirsb0 addr 0x3a3: AXP803
> "de2" at simplebus0 not configured
> "syscon" at simplebus0 not configured
> "dma-controller" at simplebus0 not configured
> "lcd-controller" at simplebus0 not configured
> "lcd-controller" at simplebus0 not configured
> sximmc0 at simplebus0
> sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
> sximmc1 at simplebus0
> sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
> sximmc2 at simplebus0
> sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
> "eeprom" at simplebus0 not configured
> "phy" at simplebus0 not configured
> ehci0 at simplebus0
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
> "usb" at simplebus0 not configured
> com0 at simplebus0: ns16550, no working fifo
> com0: console
> sxitwi0 at simplebus0
> iic0 at sxitwi0
> "hdmi-phy" at simplebus0 not configured
> sxirtc0 at simplebus0
> "interrupt-controller" at simplebus0 not configured
> "watchdog" at simplebus0 not configured
> gpio0 at sxipio0: 32 pins
> gpio1 at sxipio0: 32 pins
> gpio2 at sxipio0: 32 pins
> gpio3 at sxipio0: 32 pins
> gpio4 at sxipio0: 32 pins
> gpio5 at sxipio0: 32 pins
> gpio6 at sxipio0: 32 pins
> gpio7 at sxipio0: 32 pins
> gpio8 at sxipio1: 32 pins
> "gpio-keys" at mainbus0 not configured
> "leds" at mainbus0 not configured
> "usb1-vbus" at mainbus0 not configured
> "wifi_pwrseq" at mainbus0 not configured
> simplefb0 at mainbus0: 1366x768, 32bpp
> wsdisplay0 at simplefb0 mux 1
> wsdisplay0: screen 0-5 added (std, vt100 emulation)
> cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
> cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu1: 512KB 64b/line 16-way L2 cache
> cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
> cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu2: 512KB 64b/line 16-way L2 cache
> cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
> cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu3: 512KB 64b/line 16-way L2 cache
> manufacturer 0x024c, product 0xb723 at sdmmc1 function 1 not configured
> scsibus0 at sdmmc2: 2 targets, initiator 0
> sd0 at scsibus0 targ 1 lun 0: <Micron, R1J56L, 0000> SCSI2 0/direct removable
> sd0: 14080MB, 512 bytes/sector, 28835840 sectors
> uhub1 at uhub0 port 1 configuration 1 interface 0 "Genesys Logic USB2.0 Hub" rev 2.00/85.36 addr 2
> urtwn0 at uhub1 port 2 configuration 1 interface 0 "Realtek 802.11n NIC" rev 2.00/0.00 addr 3
> urtwn0: MAC/BB RTL8188EU, RF 6052 1T1R, address 84:16:f9:1d:70:5c
> uvideo0 at uhub1 port 3 configuration 1 interface 0 "Generic USB2.0 PC CAMERA" rev 2.00/1.00 addr 4
> video0 at uvideo0
> umodem0 at uhub1 port 4 configuration 1 interface 2 "Olimex Ltd. TERES Keyboard+Touchpad (drv)" rev 1.10/0.01 addr 5
> umodem0: data interface 3, has no CM over data, has break
> umodem0: status change notification available
> ucom0 at umodem0
> vscsi0 at root
> scsibus1 at vscsi0: 256 targets
> softraid0 at root
> scsibus2 at softraid0: 256 targets
> bootfile: sd0a:/bsd
> boot device: sd0
> root on sd0a (7f4f193dd87e3ae5.a) swap on sd0b dump on sd0b
> Automatic boot in progress: starting file system checks.
> /dev/sd0a (7f4f193dd87e3ae5.a): file system is clean; not checking
> /dev/sd0l (7f4f193dd87e3ae5.l): file system is clean; not checking
> /dev/sd0d (7f4f193dd87e3ae5.d): file system is clean; not checking
> /dev/sd0f (7f4f193dd87e3ae5.f): file system is clean; not checking
> /dev/sd0g (7f4f193dd87e3ae5.g): file system is clean; not checking
> /dev/sd0h (7f4f193dd87e3ae5.h): file system is clean; not checking
> /dev/sd0k (7f4f193dd87e3ae5.k): file system is clean; not checking
> /dev/sd0j (7f4f193dd87e3ae5.j): file system is clean; not checking
> /dev/sd0e (7f4f193dd87e3ae5.e): file system is clean; not checking
> pf enabled
> ddb.console: 0 -> 1
> starting network
> urtwn0: no link... got link
> urtwn0: no lease..... got lease
> urtwn0: 192.168.1.28 lease accepted from 192.168.1.1 (c8:d7:19:d9:eb:54)
> reordering libraries: done.
> starting early daemons: syslogd pflogd ntpd.
> starting RPC daemons:.
> savecore: no core dump
> checking quotas: done.
> clearing /tmp
> kern.securelevel: 0 -> 1
> creating runtime link editor directory cache.
> preserving editor files.
> starting network daemons: sshd smtpd sndiod.
> starting local daemons: cron.
> Sun Aug 11 16:25:28 PDT 2019
>
> OpenBSD/arm64 (hedges.my.domain) (console)
>
> login:
>
> --
> ioh
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

mujo
In reply to this post by Matthieu Herrb-3
On Mon, Aug 12, Matthieu Herrb wrote:

> On Sun, Aug 11, 2019 at 11:49:10PM +0000, ioh wrote:
> >
> > I have been able to successfully install OpenBSD Current Aug 06
> > 2019 on the Olimex Teres laptop.  It has very similar hardware to
> > the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
> > from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
> > v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
> > ports tree.
> >
> > To complete kernel initialization from either the install bsd.rd
> > or bsd from an install, the ohci driver must be disabled.  I have
> > included the serial console output and dmesg of first a boot without
> > the ohci driver disabled, and then the boot log of my successful
> > install with ohci disabled.  According to linux dmesg or the
> > sun50i-a64-teres-i.dts, ohci is available so the driver is probed
> > correctly - but even after several minutes the initialization process
> > will not continue past the line "ohci0 at simplebus0".
> >
> > What works: the embedded mmc and external mmc, external usb ports,
> > the serial line, and if xorg is running, the display.  What does
> > not: wifi (as expected, realtek 8723bs), keyboard and trackpad.
> >
> > Please let me know if there is anything I can do to help improve
> > support for this platform.  I tried building a DEBUG kernel and
> > booting with "verbose" from the UKC> prompt but did not find any
> > useful (afaik) information. I don't know how else to get more verbose
> > information from the initialization process (add printf's to the
> > driver code?).
>
> > umodem0 at uhub1 port 4 configuration 1 interface 2 "Olimex Ltd. TERES Keyboard+Touchpad (drv)" rev 1.10/0.01 addr 5
> > umodem0: data interface 3, has no CM over data, has break
> > umodem0: status change notification available
> > ucom0 at umodem0
>
> That is a bit strange and explains why keyboard/touchpad don't work.
>
> On the pinebook there is an internal usb hub on which attaches ate uhub1
> and the keyboard and trackpad are uhid devices behind it.
>
> uhub4 at uhub1 port 1 configuration 1 interface 0 "Genesys Logic USB2.0 Hub" rev 2.00/88.32 addr 2
> uhidev0 at uhub4 port 1 configuration 1 interface 0 "HAILUCK CO.,LTD USB KEYBOARD" rev 1.10/1.00 addr 3
> uhidev0: iclass 3/1
> ukbd0 at uhidev0: 8 variable keys, 6 key codes
> wskbd0 at ukbd0: console keyboard, using wsdisplay0
> uhidev1 at uhub4 port 1 configuration 1 interface 1 "HAILUCK CO.,LTD USB KEYBOARD" rev 1.10/1.00 addr 3
> uhidev1: iclass 3/0, 9 report ids
> ums0 at uhidev1 reportid 1: 5 buttons, Z and W dir
> wsmouse0 at ums0 mux 0

This looks pretty similar to what happens on linux. Here is a section of the armbian dmesg:
[    5.356506] usb 2-1.4: new full-speed USB device number 5 using ehci-platform
[    5.471104] usb 2-1.4: New USB device found, idVendor=15ba, idProduct=003c, bcdDevice= 0.01
[    5.471120] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[    5.471126] usb 2-1.4: Product: TERES Keyboard+Touchpad
[    5.471132] usb 2-1.4: Manufacturer: Olimex Ltd.
[    5.471138] usb 2-1.4: SerialNumber: A4138353330351F08041
[    5.489383] input: Olimex Ltd. TERES Keyboard+Touchpad as /devices/platform/soc/1c1b000.usb/usb2/2-1/2-1.4/2-1.4:1.0/0003:15BA:003C.0002/input/input2
[    5.549363] hid-generic 0003:15BA:003C.0002: input,hidraw0: USB HID v1.11 Keyboard [Olimex Ltd. TERES Keyboard+Touchpad] on usb-1c1b000.usb-1.4/input0
[    5.558421] input: Olimex Ltd. TERES Keyboard+Touchpad as /devices/platform/soc/1c1b000.usb/usb2/2-1/2-1.4/2-1.4:1.1/0003:15BA:003C.0003/input/input3
[    5.558859] hid-generic 0003:15BA:003C.0003: input,hidraw1: USB HID v1.11 Mouse [Olimex Ltd. TERES Keyboard+Touchpad] on usb-1c1b000.usb-1.4/input1

And the complete armbian boot logs if you're interested: http://ix.io/1xWt
--
ioh

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

mujo
In reply to this post by Mark Kettenis
On Mon, Aug 12, Mark Kettenis wrote:

> > Date: Sun, 11 Aug 2019 23:49:10 +0000
> > From: ioh <[hidden email]>
> >
> > I have been able to successfully install OpenBSD Current Aug 06
> > 2019 on the Olimex Teres laptop.  It has very similar hardware to
> > the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
> > from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
> > v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
> > ports tree.
> >
> > To complete kernel initialization from either the install bsd.rd
> > or bsd from an install, the ohci driver must be disabled.  I have
> > included the serial console output and dmesg of first a boot without
> > the ohci driver disabled, and then the boot log of my successful
> > install with ohci disabled.  According to linux dmesg or the
> > sun50i-a64-teres-i.dts, ohci is available so the driver is probed
> > correctly - but even after several minutes the initialization process
> > will not continue past the line "ohci0 at simplebus0".
>
> The hang at that point suggests that accessing the OHCI registers
> hangs the machine.  That happened in the past when the relevant clock
> wasn't running or when the OHCI logic block wasn't brought out of
> reset.  But those issues got fixed and ohci(4) works fine on other
> boards that use the Allwinner A64 SoC.  What seems to be different is
> that the Teres-i only has the 2nd USB controller enabled.
>
> > What works: the embedded mmc and external mmc, external usb ports,
> > the serial line, and if xorg is running, the display.
>
> The "arm64 glass console" diff I posted last weekend should give you a
> framebuffer console.  Note that that diff is for the bootloader, so
> you'll need to build and install it and then run installboot.  That
> diff is probably going to be committed today or tomorrow so you could
> just wait a few days for a new snapshot.

Excellent, I'm looking forward to testing it out when it hits snapshots.

> > What does not: wifi (as expected, realtek 8723bs), keyboard and
> > trackpad.
>
> There is some evidence of the keyboard that shows up in dmesg:
>
> > umodem0 at uhub1 port 4 configuration 1 interface 2 "Olimex Ltd. TERES Keyboard+Touchpad (drv)" rev 1.10/0.01 addr 5
> > umodem0: data interface 3, has no CM over data, has break
> > umodem0: status change notification available
> > ucom0 at umodem0
>
> It'd be interesting to see what happens if you disable umoden(4) and
> see what the USB descriptors are for that device.  For that purpose
> install the usbutils package and post the output of "lsusb -v".

After disabling ohci and umodem in boot_config, here is the
lsusb -v and dmesg outputs. It appears ugen then picks up the
keyboard, but still no response when pressing any keys.

# lsusb -v

Bus 000 Device 001: ID 0000:0000  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x0000
  idProduct          0x0000
  bcdDevice            1.00
  iManufacturer           1 Generic
  iProduct                2 EHCI root hub
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              12
Hub Descriptor:
  bLength              10
  bDescriptorType      41
  nNbrPorts             1
  wHubCharacteristic 0x0002
    No power switching (usb 1.0)
    Ganged overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood      200 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0x00
 Hub Port Status:
   Port 1: 0000.0503 highspeed power enable connect
Device Status:     0x0001
  Self Powered

Bus 000 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x05e3 Genesys Logic, Inc.
  idProduct          0x0608 USB-2.0 4-Port HUB
  bcdDevice           85.36
  iManufacturer           0
  iProduct                1 USB2.0 Hub
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x00e0
    Ganged power switching
    Ganged overcurrent protection
    TT think time 32 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0503 highspeed power enable connect
   Port 2: 0000.0503 highspeed power enable connect
   Port 3: 0000.0503 highspeed power enable connect
   Port 4: 0000.0103 power enable connect
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 000 Device 003: ID 0bda:8179 Realtek Semiconductor Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0bda Realtek Semiconductor Corp.
  idProduct          0x8179
  bcdDevice            0.00
  iManufacturer           1 Realtek
  iProduct                2 802.11n NIC
  iSerial                 3 00E04C0001
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      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     0x02  EP 2 OUT
        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     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0002
  (Bus Powered)
  Remote Wakeup Enabled

Bus 000 Device 004: ID 1908:2311 GEMBIRD
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x1908 GEMBIRD
  idProduct          0x2311
  bcdDevice            1.00
  iManufacturer           1 Generic
  iProduct                2 USB2.0 PC CAMERA
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          341
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              256mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass         14 Video
      bFunctionSubClass       3 Video Interface Collection
      bFunctionProtocol       0
      iFunction               2 USB2.0 PC CAMERA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      1 Video Control
      bInterfaceProtocol      0
      iInterface              2 USB2.0 PC CAMERA
      VideoControl Interface Descriptor:
        bLength                13
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdUVC               1.00
        wTotalLength           51
        dwClockFrequency       48.000000MHz
        bInCollection           1
        baInterfaceNr( 0)       1
      VideoControl Interface Descriptor:
        bLength                18
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Camera Sensor
        bAssocTerminal          0
        iTerminal               0
        wObjectiveFocalLengthMin      0
        wObjectiveFocalLengthMax      0
        wOcularFocalLength            0
        bControlSize                  3
        bmControls           0x00000000
      VideoControl Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      5 (PROCESSING_UNIT)
      Warning: Descriptor too short
        bUnitID                 2
        bSourceID               1
        wMaxMultiplier          0
        bControlSize            2
        bmControls     0x0000053f
          Brightness
          Contrast
          Hue
          Saturation
          Sharpness
          Gamma
          Backlight Compensation
          Power Line Frequency
        iProcessing             0
        bmVideoStandards     0x 9
          None
          SECAM - 625/50
      VideoControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID               2
        iTerminal               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               5
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      VideoStreaming Interface Descriptor:
        bLength                            14
        bDescriptorType                    36
        bDescriptorSubtype                  1 (INPUT_HEADER)
        bNumFormats                         1
        wTotalLength                      227
        bEndPointAddress                  130
        bmInfo                              0
        bTerminalLink                       3
        bStillCaptureMethod                 2
        bTriggerSupport                     1
        bTriggerUsage                       1
        bControlSize                        1
        bmaControls( 0)                    27
      VideoStreaming Interface Descriptor:
        bLength                            27
        bDescriptorType                    36
        bDescriptorSubtype                  4 (FORMAT_UNCOMPRESSED)
        bFormatIndex                        1
        bNumFrameDescriptors                5
        guidFormat                            {59555932-0000-1000-8000-00aa00389b71}
        bBitsPerPixel                      16
        bDefaultFrameIndex                  1
        bAspectRatioX                       0
        bAspectRatioY                       0
        bmInterlaceFlags                 0x00
          Interlaced stream or variable: No
          Fields per frame: 2 fields
          Field 1 first: No
          Field pattern: Field 1 only
          bCopyProtect                      0
      VideoStreaming Interface Descriptor:
        bLength                            34
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         1
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            640
        wHeight                           480
        dwMinBitRate                 73728000
        dwMaxBitRate                147456000
        dwMaxVideoFrameBufferSize      614400
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  2
        dwFrameInterval( 0)            333333
        dwFrameInterval( 1)            666667
      VideoStreaming Interface Descriptor:
        bLength                            34
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         2
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            352
        wHeight                           288
        dwMinBitRate                 24330240
        dwMaxBitRate                 48660480
        dwMaxVideoFrameBufferSize      202752
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  2
        dwFrameInterval( 0)            333333
        dwFrameInterval( 1)            666667
      VideoStreaming Interface Descriptor:
        bLength                            34
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         3
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            320
        wHeight                           240
        dwMinBitRate                 18432000
        dwMaxBitRate                 36864000
        dwMaxVideoFrameBufferSize      153600
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  2
        dwFrameInterval( 0)            333333
        dwFrameInterval( 1)            666667
      VideoStreaming Interface Descriptor:
        bLength                            34
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         4
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            176
        wHeight                           144
        dwMinBitRate                  6082560
        dwMaxBitRate                 12165120
        dwMaxVideoFrameBufferSize       50688
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  2
        dwFrameInterval( 0)            333333
        dwFrameInterval( 1)            666667
      VideoStreaming Interface Descriptor:
        bLength                            34
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         5
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            160
        wHeight                           120
        dwMinBitRate                  4608000
        dwMaxBitRate                  9216000
        dwMaxVideoFrameBufferSize       38400
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  2
        dwFrameInterval( 0)            333333
        dwFrameInterval( 1)            666667
      VideoStreaming Interface Descriptor:
        bLength                            10
        bDescriptorType                    36
        bDescriptorSubtype                  3 (STILL_IMAGE_FRAME)
        bEndpointAddress                    0
        bNumImageSizePatterns               1
        wWidth( 0)                        640
        wHeight( 0)                       480
        bNumCompressionPatterns             1
      VideoStreaming Interface Descriptor:
        bLength                             6
        bDescriptorType                    36
        bDescriptorSubtype                 13 (COLORFORMAT)
        bColorPrimaries                     0 (Unspecified)
        bTransferCharacteristics            0 (Unspecified)
        bMatrixCoefficients                 0 (Unspecified)
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x1400  3x 1024 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

Bus 000 Device 005: ID 15ba:003c Olimex Ltd.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x15ba Olimex Ltd.
  idProduct          0x003c
  bcdDevice            0.01
  iManufacturer           1 Olimex Ltd.
  iProduct                2 TERES Keyboard+Touchpad (drv)
  iSerial               220 A4138353330351A02211
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          120
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         2
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       2 Abstract (modem)
      bFunctionProtocol       1 AT-commands (v.25ter)
      iFunction               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              0
      CDC Header:
        bcdCDC               1.10
      CDC ACM:
        bmCapabilities       0x06
          sends break
          line coding and serial state
      CDC Union:
        bMasterInterface        2
        bSlaveInterface         3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval             255
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               5
Device Status:     0x0000
  (Bus Powered)

Bus 000 Device 006: ID 0781:5406 SanDisk Corp. Cruzer Micro U3
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0781 SanDisk Corp.
  idProduct          0x5406 Cruzer Micro U3
  bcdDevice            0.10
  iManufacturer           1 SanDisk Corporation
  iProduct                2 U3 Cruzer Micro
  iSerial                 3 00001628C371C0DF
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              200mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      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               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x4400
  (Bus Powered)

###############

# dmesg

OpenBSD 6.5-current (GENERIC.MP) #158: Tue Aug  6 16:46:13 MDT 2019
    [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem  = 2018381824 (1924MB)
avail mem = 1928835072 (1839MB)
User Kernel Config
UKC> idsa\^H \^H\^H \^H\^H \^H\^H \^Hdisable -\^H \^Hohci
133 ohci* disabled
169 ohci* disabled
UKC> disable umodem
 70 umodem* disabled
UKC> quit
Continuing...
mainbus0 at root: Olimex A64 Teres-I
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.7
efi0: Das U-Boot rev 0x20190700
apm0 at mainbus0
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
"osc24M_clk" at mainbus0 not configured
"osc32k_clk" at mainbus0 not configured
"internal-osc-clk" at mainbus0 not configured
"sound_spdif" at mainbus0 not configured
"spdif-out" at mainbus0 not configured
agtimer0 at mainbus0: tick rate 24000 KHz
simplebus0 at mainbus0: "soc"
sxiccmu0 at simplebus0
sxipio0 at simplebus0: 103 pins
ampintc0 at simplebus0 nirq 224, ncpu 4 ipi: 0, 1: "interrupt-controller"
sxiccmu1 at simplebus0
sxipio1 at simplebus0: 13 pins
sxirsb0 at simplebus0
axppmic0 at sxirsb0 addr 0x3a3: AXP803
"de2" at simplebus0 not configured
"syscon" at simplebus0 not configured
"dma-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
sximmc0 at simplebus0
sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
sximmc1 at simplebus0
sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
sximmc2 at simplebus0
sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
"eeprom" at simplebus0 not configured
"phy" at simplebus0 not configured
ehci0 at simplebus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
"usb" at simplebus0 not configured
com0 at simplebus0: ns16550, no working fifo
com0: console
sxitwi0 at simplebus0
iic0 at sxitwi0
"hdmi-phy" at simplebus0 not configured
sxirtc0 at simplebus0
"interrupt-controller" at simplebus0 not configured
"watchdog" at simplebus0 not configured
gpio0 at sxipio0: 32 pins
gpio1 at sxipio0: 32 pins
gpio2 at sxipio0: 32 pins
gpio3 at sxipio0: 32 pins
gpio4 at sxipio0: 32 pins
gpio5 at sxipio0: 32 pins
gpio6 at sxipio0: 32 pins
gpio7 at sxipio0: 32 pins
gpio8 at sxipio1: 32 pins
"gpio-keys" at mainbus0 not configured
"leds" at mainbus0 not configured
"usb1-vbus" at mainbus0 not configured
"wifi_pwrseq" at mainbus0 not configured
simplefb0 at mainbus0: 1366x768, 32bpp
wsdisplay0 at simplefb0 mux 1
wsdisplay0: screen 0-5 added (std, vt100 emulation)
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu1: 512KB 64b/line 16-way L2 cache
cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu2: 512KB 64b/line 16-way L2 cache
cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu3: 512KB 64b/line 16-way L2 cache
manufacturer 0x024c, product 0xb723 at sdmmc1 function 1 not configured
scsibus0 at sdmmc2: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <Micron, R1J56L, 0000> SCSI2 0/direct removable
sd0: 14080MB, 512 bytes/sector, 28835840 sectors
uhub1 at uhub0 port 1 configuration 1 interface 0 "Genesys Logic USB2.0 Hub" rev 2.00/85.36 addr 2
urtwn0 at uhub1 port 2 configuration 1 interface 0 "Realtek 802.11n NIC" rev 2.00/0.00 addr 3
urtwn0: MAC/BB RTL8188EU, RF 6052 1T1R, address 84:16:f9:1d:70:5c
uvideo0 at uhub1 port 3 configuration 1 interface 0 "Generic USB2.0 PC CAMERA" rev 2.00/1.00 addr 4
video0 at uvideo0
ugen0 at uhub1 port 4 "Olimex Ltd. TERES Keyboard+Touchpad (drv)" rev 1.10/0.01 addr 5
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on sd0a (7f4f193dd87e3ae5.a) swap on sd0b dump on sd0b
umass0 at uhub1 port 1 configuration 1 interface 0 "SanDisk Corporation U3 Cruzer Micro" rev 2.00/0.10 addr 6
umass0: using SCSI over Bulk-Only
scsibus3 at umass0: 2 targets, initiator 0
sd1 at scsibus3 targ 1 lun 0: <SanDisk, U3 Cruzer Micro, 3.27> SCSI2 0/direct removable serial.078154061628C371C0DF
sd1: 1959MB, 512 bytes/sector, 4013710 sectors

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

mujo
In reply to this post by Mark Kettenis
On Mon, Aug 12, Mark Kettenis wrote:

> > Date: Sun, 11 Aug 2019 23:49:10 +0000
> > From: ioh <[hidden email]>
> >
> > I have been able to successfully install OpenBSD Current Aug 06
> > 2019 on the Olimex Teres laptop.  It has very similar hardware to
> > the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
> > from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
> > v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
> > ports tree.
> >
> > To complete kernel initialization from either the install bsd.rd
> > or bsd from an install, the ohci driver must be disabled.  I have
> > included the serial console output and dmesg of first a boot without
> > the ohci driver disabled, and then the boot log of my successful
> > install with ohci disabled.  According to linux dmesg or the
> > sun50i-a64-teres-i.dts, ohci is available so the driver is probed
> > correctly - but even after several minutes the initialization process
> > will not continue past the line "ohci0 at simplebus0".
>
> The hang at that point suggests that accessing the OHCI registers
> hangs the machine.  That happened in the past when the relevant clock
> wasn't running or when the OHCI logic block wasn't brought out of
> reset.  But those issues got fixed and ohci(4) works fine on other
> boards that use the Allwinner A64 SoC.  What seems to be different is
> that the Teres-i only has the 2nd USB controller enabled.
>
> Adding printfs is probably the way to go here.  Start with
> ohci_fdt_attach() in sys/dev/fdt/ohci_fdt.c and try to pinpoint at
> which point it hangs.

This is the printf's I added, followed by the dmesg output.  The
point at which init hangs is at bus_space_read_4() in ohci_fdt_attach().
Do you need further digging in bus_space_read_4, ie adding printf's
to that function too to find the exact line further, or is that
enough information?

Index: dev/fdt/ohci_fdt.c
===================================================================
RCS file: /cvs/src/sys/dev/fdt/ohci_fdt.c,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 ohci_fdt.c
--- dev/fdt/ohci_fdt.c  7 Jan 2019 03:41:06 -0000       1.2
+++ dev/fdt/ohci_fdt.c  13 Aug 2019 00:53:06 -0000
@@ -71,6 +71,8 @@ ohci_fdt_match(struct device *parent, vo
 void
 ohci_fdt_attach(struct device *parent, struct device *self, void *aux)
 {
+printf("\nDEBUG: entering ohci_fdt_attach\n");
+
        struct ohci_fdt_softc *sc = (struct ohci_fdt_softc *)self;
        struct fdt_attach_args *faa = aux;
        char *devname = sc->sc.sc_bus.bdev.dv_xname;
@@ -96,9 +98,13 @@ ohci_fdt_attach(struct device *parent, s
        clock_enable_all(sc->sc_node);
        reset_deassert_all(sc->sc_node);

+printf("DEBUG: Make it to here\n");
+
        /* Record what interrupts were enabled by SMM/BIOS. */
        sc->sc.sc_intre = bus_space_read_4(sc->sc.iot, sc->sc.ioh,
            OHCI_INTERRUPT_ENABLE);
+
+printf("DEBUG: Do not make it here\n");

        /* Disable interrupts, so we don't get any spurious ones. */
        bus_space_write_4(sc->sc.iot, sc->sc.ioh, OHCI_INTERRUPT_DISABLE,


OpenBSD 6.5-current (CUSTOM) #2: Mon Aug 12 17:45:21 PDT 2019
    [hidden email]:/sys/arch/arm64/compile/CUSTOM
real mem  = 2018398208 (1924MB)
avail mem = 1928859648 (1839MB)
mainbus0 at root: Olimex A64 Teres-I
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.7
efi0: Das U-Boot rev 0x20190700
apm0 at mainbus0
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
"osc24M_clk" at mainbus0 not configured
"osc32k_clk" at mainbus0 not configured
"internal-osc-clk" at mainbus0 not configured
"sound_spdif" at mainbus0 not configured
"spdif-out" at mainbus0 not configured
agtimer0 at mainbus0: tick rate 24000 KHz
simplebus0 at mainbus0: "soc"
sxiccmu0 at simplebus0
sxipio0 at simplebus0: 103 pins
ampintc0 at simplebus0 nirq 224, ncpu 4: "interrupt-controller"
sxiccmu1 at simplebus0
sxipio1 at simplebus0: 13 pins
sxirsb0 at simplebus0
axppmic0 at sxirsb0 addr 0x3a3: AXP803
"de2" at simplebus0 not configured
"syscon" at simplebus0 not configured
"dma-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
sximmc0 at simplebus0
sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
sximmc1 at simplebus0
sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
sximmc2 at simplebus0
sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
"eeprom" at simplebus0 not configured
"phy" at simplebus0 not configured
ehci0 at simplebus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
ohci0 at simplebus0
DEBUG: entering ohci_fdt_attach
DEBUG: Make it to here

--
ioh

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

Mark Kettenis
> Date: Tue, 13 Aug 2019 01:01:37 +0000
> From: ioh <[hidden email]>
>
> On Mon, Aug 12, Mark Kettenis wrote:
> > > Date: Sun, 11 Aug 2019 23:49:10 +0000
> > > From: ioh <[hidden email]>
> > >
> > > I have been able to successfully install OpenBSD Current Aug 06
> > > 2019 on the Olimex Teres laptop.  It has very similar hardware to
> > > the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
> > > from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
> > > v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
> > > ports tree.
> > >
> > > To complete kernel initialization from either the install bsd.rd
> > > or bsd from an install, the ohci driver must be disabled.  I have
> > > included the serial console output and dmesg of first a boot without
> > > the ohci driver disabled, and then the boot log of my successful
> > > install with ohci disabled.  According to linux dmesg or the
> > > sun50i-a64-teres-i.dts, ohci is available so the driver is probed
> > > correctly - but even after several minutes the initialization process
> > > will not continue past the line "ohci0 at simplebus0".
> >
> > The hang at that point suggests that accessing the OHCI registers
> > hangs the machine.  That happened in the past when the relevant clock
> > wasn't running or when the OHCI logic block wasn't brought out of
> > reset.  But those issues got fixed and ohci(4) works fine on other
> > boards that use the Allwinner A64 SoC.  What seems to be different is
> > that the Teres-i only has the 2nd USB controller enabled.
> >
> > Adding printfs is probably the way to go here.  Start with
> > ohci_fdt_attach() in sys/dev/fdt/ohci_fdt.c and try to pinpoint at
> > which point it hangs.
>
> This is the printf's I added, followed by the dmesg output.  The
> point at which init hangs is at bus_space_read_4() in ohci_fdt_attach().
> Do you need further digging in bus_space_read_4, ie adding printf's
> to that function too to find the exact line further, or is that
> enough information?

Thanks, yes, at least for now.

This confirms my suspicion and does point towards an issue with a
clock that isn't running and/or a reset that isn't deasserted.  You
could see what happens if you enable the other USB controller (both
ehci0 and ohci0) in the device tree if you know how to do that.  On my
end I'll try to do the opposite (disable ehci0 and ohci0) and see if I
can reproduce the issue.  It seems the Linux image you're using has
both controllers enabled.

Cheers,

Mark

> Index: dev/fdt/ohci_fdt.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/fdt/ohci_fdt.c,v
> retrieving revision 1.2
> diff -u -p -u -p -r1.2 ohci_fdt.c
> --- dev/fdt/ohci_fdt.c  7 Jan 2019 03:41:06 -0000       1.2
> +++ dev/fdt/ohci_fdt.c  13 Aug 2019 00:53:06 -0000
> @@ -71,6 +71,8 @@ ohci_fdt_match(struct device *parent, vo
>  void
>  ohci_fdt_attach(struct device *parent, struct device *self, void *aux)
>  {
> +printf("\nDEBUG: entering ohci_fdt_attach\n");
> +
>         struct ohci_fdt_softc *sc = (struct ohci_fdt_softc *)self;
>         struct fdt_attach_args *faa = aux;
>         char *devname = sc->sc.sc_bus.bdev.dv_xname;
> @@ -96,9 +98,13 @@ ohci_fdt_attach(struct device *parent, s
>         clock_enable_all(sc->sc_node);
>         reset_deassert_all(sc->sc_node);
>
> +printf("DEBUG: Make it to here\n");
> +
>         /* Record what interrupts were enabled by SMM/BIOS. */
>         sc->sc.sc_intre = bus_space_read_4(sc->sc.iot, sc->sc.ioh,
>             OHCI_INTERRUPT_ENABLE);
> +
> +printf("DEBUG: Do not make it here\n");
>
>         /* Disable interrupts, so we don't get any spurious ones. */
>         bus_space_write_4(sc->sc.iot, sc->sc.ioh, OHCI_INTERRUPT_DISABLE,
>
>
> OpenBSD 6.5-current (CUSTOM) #2: Mon Aug 12 17:45:21 PDT 2019
>     [hidden email]:/sys/arch/arm64/compile/CUSTOM
> real mem  = 2018398208 (1924MB)
> avail mem = 1928859648 (1839MB)
> mainbus0 at root: Olimex A64 Teres-I
> cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
> cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu0: 512KB 64b/line 16-way L2 cache
> efi0 at mainbus0: UEFI 2.7
> efi0: Das U-Boot rev 0x20190700
> apm0 at mainbus0
> psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
> "osc24M_clk" at mainbus0 not configured
> "osc32k_clk" at mainbus0 not configured
> "internal-osc-clk" at mainbus0 not configured
> "sound_spdif" at mainbus0 not configured
> "spdif-out" at mainbus0 not configured
> agtimer0 at mainbus0: tick rate 24000 KHz
> simplebus0 at mainbus0: "soc"
> sxiccmu0 at simplebus0
> sxipio0 at simplebus0: 103 pins
> ampintc0 at simplebus0 nirq 224, ncpu 4: "interrupt-controller"
> sxiccmu1 at simplebus0
> sxipio1 at simplebus0: 13 pins
> sxirsb0 at simplebus0
> axppmic0 at sxirsb0 addr 0x3a3: AXP803
> "de2" at simplebus0 not configured
> "syscon" at simplebus0 not configured
> "dma-controller" at simplebus0 not configured
> "lcd-controller" at simplebus0 not configured
> "lcd-controller" at simplebus0 not configured
> sximmc0 at simplebus0
> sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
> sximmc1 at simplebus0
> sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
> sximmc2 at simplebus0
> sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
> "eeprom" at simplebus0 not configured
> "phy" at simplebus0 not configured
> ehci0 at simplebus0
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
> ohci0 at simplebus0
> DEBUG: entering ohci_fdt_attach
> DEBUG: Make it to here
>
> --
> ioh
>

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

Krystian Lewandowski-2
Maybe it's a more generic issue related to sxi/A64?

I.e. after reboot my USB WiFi dongle just stops working on
Pinebook until reinserted.
...
urtwn0: could not initialze DMA
...

And after reboot on A64 and Pinebook I lose CPU power regulator
even if it works just fine after cold boot:
...
cpu0: regulator not implemented
...

And - maybe completely unrelated - each time
(even after cold boot) on halt or reboot last thing printed is:
...
syncing disks... done
ehci0: halt timeout
ehci0: reset timeout

Attempting to power down...
...

--
Krystian

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

mujo
In reply to this post by Mark Kettenis
On Tue, Aug 13, Mark Kettenis wrote:

> > Date: Tue, 13 Aug 2019 01:01:37 +0000
> > From: ioh <[hidden email]>
> >
> > On Mon, Aug 12, Mark Kettenis wrote:
> > > > Date: Sun, 11 Aug 2019 23:49:10 +0000
> > > > From: ioh <[hidden email]>
> > > >
> > > > I have been able to successfully install OpenBSD Current Aug 06
> > > > 2019 on the Olimex Teres laptop.  It has very similar hardware to
> > > > the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
> > > > from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
> > > > v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
> > > > ports tree.
> > > >
> > > > To complete kernel initialization from either the install bsd.rd
> > > > or bsd from an install, the ohci driver must be disabled.  I have
> > > > included the serial console output and dmesg of first a boot without
> > > > the ohci driver disabled, and then the boot log of my successful
> > > > install with ohci disabled.  According to linux dmesg or the
> > > > sun50i-a64-teres-i.dts, ohci is available so the driver is probed
> > > > correctly - but even after several minutes the initialization process
> > > > will not continue past the line "ohci0 at simplebus0".
> > >
> > > The hang at that point suggests that accessing the OHCI registers
> > > hangs the machine.  That happened in the past when the relevant clock
> > > wasn't running or when the OHCI logic block wasn't brought out of
> > > reset.  But those issues got fixed and ohci(4) works fine on other
> > > boards that use the Allwinner A64 SoC.  What seems to be different is
> > > that the Teres-i only has the 2nd USB controller enabled.
> > >
> > > Adding printfs is probably the way to go here.  Start with
> > > ohci_fdt_attach() in sys/dev/fdt/ohci_fdt.c and try to pinpoint at
> > > which point it hangs.
> >
> > This is the printf's I added, followed by the dmesg output.  The
> > point at which init hangs is at bus_space_read_4() in ohci_fdt_attach().
> > Do you need further digging in bus_space_read_4, ie adding printf's
> > to that function too to find the exact line further, or is that
> > enough information?
>
> Thanks, yes, at least for now.
>
> This confirms my suspicion and does point towards an issue with a
> clock that isn't running and/or a reset that isn't deasserted.  You
> could see what happens if you enable the other USB controller (both
> ehci0 and ohci0) in the device tree if you know how to do that.  On my
> end I'll try to do the opposite (disable ehci0 and ohci0) and see if I
> can reproduce the issue.  It seems the Linux image you're using has
> both controllers enabled.

I took the latest linux v5.3-rc4 and added some basic ehci0 and
ohci0 nodes. I built the dtb with musl-cross-make and by running
make dtbs in the linux source tree:

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
index 1069e7012c9c..a8596d742d68 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
@@ -100,6 +100,11 @@
        status = "okay";
 };

+&ehci0 {
+       phys = <&usbphy 0>;
+       status = "okay";
+};
+
 &ehci1 {
        status = "okay";
 };
@@ -153,6 +158,11 @@
        status = "okay";
 };

+&ohci0 {
+       phys = <&usbphy 0>;
+       status = "okay";
+};
+
 &ohci1 {
        status = "okay";
 };

This is how the nodes are in the pinebook dts and similar to an
armbian patch:
https://github.com/armbian/build/blob/master/patch/kernel/sunxi-dev/xxx-teres-fixed.patch

Here is my resulting dmesg and boot log. External usb ports were
unresponsive, inserting and removing a flash drive showed nothing
in dmesg and the light on the flash drive did not turn on. Also,
the usb wifi dongle was not recognized, and no keyboard in dmesg:

OpenBSD 6.5-current (GENERIC.MP) #158: Tue Aug  6 16:46:13 MDT 2019
    [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem  = 2018369536 (1924MB)
avail mem = 1928814592 (1839MB)
mainbus0 at root: Olimex A64 Teres-I
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.7
efi0: Das U-Boot rev 0x20190700
apm0 at mainbus0
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
"osc24M_clk" at mainbus0 not configured
"osc32k_clk" at mainbus0 not configured
"pmu" at mainbus0 not configured
"sound" at mainbus0 not configured
"sound_spdif" at mainbus0 not configured
"spdif-out" at mainbus0 not configured
agtimer0 at mainbus0: tick rate 24000 KHz
simplebus0 at mainbus0: "soc"
sxiccmu0 at simplebus0
sxipio0 at simplebus0: 103 pins
ampintc0 at simplebus0 nirq 224, ncpu 4 ipi: 0, 1: "interrupt-controller"
sxiccmu1 at simplebus0
sxipio1 at simplebus0: 13 pins
sxirsb0 at simplebus0
axppmic0 at sxirsb0 addr 0x3a3: AXP803
"bus" at simplebus0 not configured
"syscon" at simplebus0 not configured
"dma-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"video-codec" at simplebus0 not configured
sximmc0 at simplebus0
sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
sximmc1 at simplebus0
sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
sximmc2 at simplebus0
sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
"eeprom" at simplebus0 not configured
"phy" at simplebus0 not configured
ehci0 at simplebus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
ohci0 at simplebus0: version 1.0
ehci1 at simplebus0
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
ohci1 at simplebus0: version 1.0
"dai" at simplebus0 not configured
"codec" at simplebus0 not configured
com0 at simplebus0: ns16550, no working fifo
com0: console
sxitwi0 at simplebus0
iic0 at sxitwi0
"gpu" at simplebus0 not configured
"pwm" at simplebus0 not configured
"hdmi-phy" at simplebus0 not configured
sxirtc0 at simplebus0
"interrupt-controller" at simplebus0 not configured
"codec-analog" at simplebus0 not configured
"watchdog" at simplebus0 not configured
gpio0 at sxipio0: 32 pins
gpio1 at sxipio0: 32 pins
gpio2 at sxipio0: 32 pins
gpio3 at sxipio0: 32 pins
gpio4 at sxipio0: 32 pins
gpio5 at sxipio0: 32 pins
gpio6 at sxipio0: 32 pins
gpio7 at sxipio0: 32 pins
gpio8 at sxipio1: 32 pins
usb2 at ohci0: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1
usb3 at ohci1: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1
"backlight" at mainbus0 not configured
"gpio-keys" at mainbus0 not configured
"leds" at mainbus0 not configured
"usb1-vbus" at mainbus0 not configured
"wifi_pwrseq" at mainbus0 not configured
"audio-amplifier" at mainbus0 not configured
simplefb0 at mainbus0: 1366x768, 32bpp
wsdisplay0 at simplefb0 mux 1
wsdisplay0: screen 0-5 added (std, vt100 emulation)
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu1: 512KB 64b/line 16-way L2 cache
cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu2: 512KB 64b/line 16-way L2 cache
cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu3: 512KB 64b/line 16-way L2 cache
ohci1: 1 scheduling overruns
scsibus0 at sdmmc0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SDCIT, 0030> SCSI2 0/direct removable
sd0: 7464MB, 512 bytes/sector, 15286272 sectors
manufacturer 0x024c, product 0xb723 at sdmmc1 function 1 not configured
scsibus1 at sdmmc2: 2 targets, initiator 0
sd1 at scsibus1 targ 1 lun 0: <Micron, R1J56L, 0000> SCSI2 0/direct removable
sd1: 14080MB, 512 bytes/sector, 28835840 sectors
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
bootfile: sd1a:/bsd
boot device: sd1
root on sd1a (7f4f193dd87e3ae5.a) swap on sd1b dump on sd1b
ohci1: 1234 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
Automatic boot in progress: starting file system checks.
/dev/sd1a (7f4f193dd87e3ae5.a): file system is clean; not checking
/dev/sd1l (7f4f193dd87e3ae5.l): file system is clean; not checking
/dev/sd1d (7f4f193dd87e3ae5.d): file system is clean; not checking
/dev/sd1f (7f4f193dd87e3ae5.f): file system is clean; not checking
/dev/sd1g (7f4f193dd87e3ae5.g): file system is clean; not checking
/dev/sd1h (7f4f193dd87e3ae5.h): file system is clean; not checking
/dev/sd1k (7f4f193dd87e3ae5.k): file system is clean; not checking
/dev/sd1j (7f4f193dd87e3ae5.j): file system is clean; not checking
/dev/sd1e (7f4f193dd87e3ae5.e): file system is clean; not checking
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
pf enabled
ohci1: 259 scheduling overruns
ddb.console: 0 -> 1
ohci1: 259 scheduling overruns
ohci1: 245 scheduling overruns
starting network
ohci1: 258 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 258 scheduling overruns
reordering libraries:ohci1: 253 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 246 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 248 scheduling overruns
ohci1: 237 scheduling overruns
ohci1: 258 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 231 scheduling overruns
ohci1: 258 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 244 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 243 scheduling overruns
ohci1: 250 scheduling overruns
ohci1: 221 scheduling overruns
ohci1: 238 scheduling overruns
ohci1: 250 scheduling overruns
ohci1: 244 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 242 scheduling overruns
ohci1: 245 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 220 scheduling overruns
ohci1: 242 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 234 scheduling overruns
ohci1: 237 scheduling overruns
ohci1: 242 scheduling overruns
ohci1: 244 scheduling overruns
ohci1: 199 scheduling overruns
ohci1: 237 scheduling overruns
ohci1: 245 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 248 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 244 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
ohci1: 249 scheduling overruns
 done.
ohci1: 229 scheduling overruns
starting early daemons:ohci1: 232 scheduling overruns
 syslogdohci1: 230 scheduling overruns
ohci1: 252 scheduling overruns
ohci1: 245 scheduling overruns
 pflogdohci1: 246 scheduling overruns
 ntpdohci1: 243 scheduling overruns
ohci1: 251 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
.
starting RPC daemons:.
ohci1: 256 scheduling overruns
savecore: no core dump
checking quotas: done.
ohci1: 239 scheduling overruns
clearing /tmp
kern.securelevel: 0 -> 1
ohci1: 250 scheduling overruns
creating runtime link editor directory cache.
preserving editor files.
ohci1: 252 scheduling overruns
starting network daemons:ohci1: 249 scheduling overruns
 sshdohci1: 256 scheduling overruns
ohci1: 256 scheduling overruns
 smtpdohci1: 255 scheduling overruns
ohci1: 238 scheduling overruns
 sndiodohci1: 255 scheduling overruns
.
starting local daemons:ohci1: 254 scheduling overruns
 cronohci1: 254 scheduling overruns
.
Tue Aug 13 14:45:32 PDT 2019
ohci1: 257 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 248 scheduling overruns
ohci1: 256 scheduling overruns
ohci1: 245 scheduling overruns
ohci1: 256 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns

OpenBSD/arm64 (hedges.my.domain) (console)

login: ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns
ohci1: 259 scheduling overruns

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

Mark Kettenis
> Date: Tue, 13 Aug 2019 22:01:30 +0000
> From: ioh <[hidden email]>
>
> On Tue, Aug 13, Mark Kettenis wrote:
> > > Date: Tue, 13 Aug 2019 01:01:37 +0000
> > > From: ioh <[hidden email]>
> > >
> > > On Mon, Aug 12, Mark Kettenis wrote:
> > > > > Date: Sun, 11 Aug 2019 23:49:10 +0000
> > > > > From: ioh <[hidden email]>
> > > > >
> > > > > I have been able to successfully install OpenBSD Current Aug 06
> > > > > 2019 on the Olimex Teres laptop.  It has very similar hardware to
> > > > > the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
> > > > > from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
> > > > > v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
> > > > > ports tree.
> > > > >
> > > > > To complete kernel initialization from either the install bsd.rd
> > > > > or bsd from an install, the ohci driver must be disabled.  I have
> > > > > included the serial console output and dmesg of first a boot without
> > > > > the ohci driver disabled, and then the boot log of my successful
> > > > > install with ohci disabled.  According to linux dmesg or the
> > > > > sun50i-a64-teres-i.dts, ohci is available so the driver is probed
> > > > > correctly - but even after several minutes the initialization process
> > > > > will not continue past the line "ohci0 at simplebus0".
> > > >
> > > > The hang at that point suggests that accessing the OHCI registers
> > > > hangs the machine.  That happened in the past when the relevant clock
> > > > wasn't running or when the OHCI logic block wasn't brought out of
> > > > reset.  But those issues got fixed and ohci(4) works fine on other
> > > > boards that use the Allwinner A64 SoC.  What seems to be different is
> > > > that the Teres-i only has the 2nd USB controller enabled.
> > > >
> > > > Adding printfs is probably the way to go here.  Start with
> > > > ohci_fdt_attach() in sys/dev/fdt/ohci_fdt.c and try to pinpoint at
> > > > which point it hangs.
> > >
> > > This is the printf's I added, followed by the dmesg output.  The
> > > point at which init hangs is at bus_space_read_4() in ohci_fdt_attach().
> > > Do you need further digging in bus_space_read_4, ie adding printf's
> > > to that function too to find the exact line further, or is that
> > > enough information?
> >
> > Thanks, yes, at least for now.
> >
> > This confirms my suspicion and does point towards an issue with a
> > clock that isn't running and/or a reset that isn't deasserted.  You
> > could see what happens if you enable the other USB controller (both
> > ehci0 and ohci0) in the device tree if you know how to do that.  On my
> > end I'll try to do the opposite (disable ehci0 and ohci0) and see if I
> > can reproduce the issue.  It seems the Linux image you're using has
> > both controllers enabled.
>
> I took the latest linux v5.3-rc4 and added some basic ehci0 and
> ohci0 nodes. I built the dtb with musl-cross-make and by running
> make dtbs in the linux source tree:
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
> index 1069e7012c9c..a8596d742d68 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
> @@ -100,6 +100,11 @@
>         status = "okay";
>  };
>
> +&ehci0 {
> +       phys = <&usbphy 0>;
> +       status = "okay";
> +};
> +
>  &ehci1 {
>         status = "okay";
>  };
> @@ -153,6 +158,11 @@
>         status = "okay";
>  };
>
> +&ohci0 {
> +       phys = <&usbphy 0>;
> +       status = "okay";
> +};
> +
>  &ohci1 {
>         status = "okay";
>  };
>
> This is how the nodes are in the pinebook dts and similar to an
> armbian patch:
> https://github.com/armbian/build/blob/master/patch/kernel/sunxi-dev/xxx-teres-fixed.patch
>
> Here is my resulting dmesg and boot log. External usb ports were
> unresponsive, inserting and removing a flash drive showed nothing
> in dmesg and the light on the flash drive did not turn on. Also,
> the usb wifi dongle was not recognized, and no keyboard in dmesg:

Right, now you need my latest commits!

Latest snapshot kernel (dated Tue Aug 13) should be ok.

>
> OpenBSD 6.5-current (GENERIC.MP) #158: Tue Aug  6 16:46:13 MDT 2019
>     [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
> real mem  = 2018369536 (1924MB)
> avail mem = 1928814592 (1839MB)
> mainbus0 at root: Olimex A64 Teres-I
> cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
> cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu0: 512KB 64b/line 16-way L2 cache
> efi0 at mainbus0: UEFI 2.7
> efi0: Das U-Boot rev 0x20190700
> apm0 at mainbus0
> psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
> "osc24M_clk" at mainbus0 not configured
> "osc32k_clk" at mainbus0 not configured
> "pmu" at mainbus0 not configured
> "sound" at mainbus0 not configured
> "sound_spdif" at mainbus0 not configured
> "spdif-out" at mainbus0 not configured
> agtimer0 at mainbus0: tick rate 24000 KHz
> simplebus0 at mainbus0: "soc"
> sxiccmu0 at simplebus0
> sxipio0 at simplebus0: 103 pins
> ampintc0 at simplebus0 nirq 224, ncpu 4 ipi: 0, 1: "interrupt-controller"
> sxiccmu1 at simplebus0
> sxipio1 at simplebus0: 13 pins
> sxirsb0 at simplebus0
> axppmic0 at sxirsb0 addr 0x3a3: AXP803
> "bus" at simplebus0 not configured
> "syscon" at simplebus0 not configured
> "dma-controller" at simplebus0 not configured
> "lcd-controller" at simplebus0 not configured
> "lcd-controller" at simplebus0 not configured
> "video-codec" at simplebus0 not configured
> sximmc0 at simplebus0
> sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
> sximmc1 at simplebus0
> sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
> sximmc2 at simplebus0
> sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
> "eeprom" at simplebus0 not configured
> "phy" at simplebus0 not configured
> ehci0 at simplebus0
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
> ohci0 at simplebus0: version 1.0
> ehci1 at simplebus0
> usb1 at ehci1: USB revision 2.0
> uhub1 at usb1 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
> ohci1 at simplebus0: version 1.0
> "dai" at simplebus0 not configured
> "codec" at simplebus0 not configured
> com0 at simplebus0: ns16550, no working fifo
> com0: console
> sxitwi0 at simplebus0
> iic0 at sxitwi0
> "gpu" at simplebus0 not configured
> "pwm" at simplebus0 not configured
> "hdmi-phy" at simplebus0 not configured
> sxirtc0 at simplebus0
> "interrupt-controller" at simplebus0 not configured
> "codec-analog" at simplebus0 not configured
> "watchdog" at simplebus0 not configured
> gpio0 at sxipio0: 32 pins
> gpio1 at sxipio0: 32 pins
> gpio2 at sxipio0: 32 pins
> gpio3 at sxipio0: 32 pins
> gpio4 at sxipio0: 32 pins
> gpio5 at sxipio0: 32 pins
> gpio6 at sxipio0: 32 pins
> gpio7 at sxipio0: 32 pins
> gpio8 at sxipio1: 32 pins
> usb2 at ohci0: USB revision 1.0
> uhub2 at usb2 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1
> usb3 at ohci1: USB revision 1.0
> uhub3 at usb3 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1
> "backlight" at mainbus0 not configured
> "gpio-keys" at mainbus0 not configured
> "leds" at mainbus0 not configured
> "usb1-vbus" at mainbus0 not configured
> "wifi_pwrseq" at mainbus0 not configured
> "audio-amplifier" at mainbus0 not configured
> simplefb0 at mainbus0: 1366x768, 32bpp
> wsdisplay0 at simplefb0 mux 1
> wsdisplay0: screen 0-5 added (std, vt100 emulation)
> cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
> cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu1: 512KB 64b/line 16-way L2 cache
> cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
> cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu2: 512KB 64b/line 16-way L2 cache
> cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
> cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
> cpu3: 512KB 64b/line 16-way L2 cache
> ohci1: 1 scheduling overruns
> scsibus0 at sdmmc0: 2 targets, initiator 0
> sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SDCIT, 0030> SCSI2 0/direct removable
> sd0: 7464MB, 512 bytes/sector, 15286272 sectors
> manufacturer 0x024c, product 0xb723 at sdmmc1 function 1 not configured
> scsibus1 at sdmmc2: 2 targets, initiator 0
> sd1 at scsibus1 targ 1 lun 0: <Micron, R1J56L, 0000> SCSI2 0/direct removable
> sd1: 14080MB, 512 bytes/sector, 28835840 sectors
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> bootfile: sd1a:/bsd
> boot device: sd1
> root on sd1a (7f4f193dd87e3ae5.a) swap on sd1b dump on sd1b
> ohci1: 1234 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> Automatic boot in progress: starting file system checks.
> /dev/sd1a (7f4f193dd87e3ae5.a): file system is clean; not checking
> /dev/sd1l (7f4f193dd87e3ae5.l): file system is clean; not checking
> /dev/sd1d (7f4f193dd87e3ae5.d): file system is clean; not checking
> /dev/sd1f (7f4f193dd87e3ae5.f): file system is clean; not checking
> /dev/sd1g (7f4f193dd87e3ae5.g): file system is clean; not checking
> /dev/sd1h (7f4f193dd87e3ae5.h): file system is clean; not checking
> /dev/sd1k (7f4f193dd87e3ae5.k): file system is clean; not checking
> /dev/sd1j (7f4f193dd87e3ae5.j): file system is clean; not checking
> /dev/sd1e (7f4f193dd87e3ae5.e): file system is clean; not checking
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> pf enabled
> ohci1: 259 scheduling overruns
> ddb.console: 0 -> 1
> ohci1: 259 scheduling overruns
> ohci1: 245 scheduling overruns
> starting network
> ohci1: 258 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 258 scheduling overruns
> reordering libraries:ohci1: 253 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 246 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 248 scheduling overruns
> ohci1: 237 scheduling overruns
> ohci1: 258 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 231 scheduling overruns
> ohci1: 258 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 244 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 243 scheduling overruns
> ohci1: 250 scheduling overruns
> ohci1: 221 scheduling overruns
> ohci1: 238 scheduling overruns
> ohci1: 250 scheduling overruns
> ohci1: 244 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 242 scheduling overruns
> ohci1: 245 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 220 scheduling overruns
> ohci1: 242 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 234 scheduling overruns
> ohci1: 237 scheduling overruns
> ohci1: 242 scheduling overruns
> ohci1: 244 scheduling overruns
> ohci1: 199 scheduling overruns
> ohci1: 237 scheduling overruns
> ohci1: 245 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 248 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 244 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
> ohci1: 249 scheduling overruns
>  done.
> ohci1: 229 scheduling overruns
> starting early daemons:ohci1: 232 scheduling overruns
>  syslogdohci1: 230 scheduling overruns
> ohci1: 252 scheduling overruns
> ohci1: 245 scheduling overruns
>  pflogdohci1: 246 scheduling overruns
>  ntpdohci1: 243 scheduling overruns
> ohci1: 251 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> .
> starting RPC daemons:.
> ohci1: 256 scheduling overruns
> savecore: no core dump
> checking quotas: done.
> ohci1: 239 scheduling overruns
> clearing /tmp
> kern.securelevel: 0 -> 1
> ohci1: 250 scheduling overruns
> creating runtime link editor directory cache.
> preserving editor files.
> ohci1: 252 scheduling overruns
> starting network daemons:ohci1: 249 scheduling overruns
>  sshdohci1: 256 scheduling overruns
> ohci1: 256 scheduling overruns
>  smtpdohci1: 255 scheduling overruns
> ohci1: 238 scheduling overruns
>  sndiodohci1: 255 scheduling overruns
> .
> starting local daemons:ohci1: 254 scheduling overruns
>  cronohci1: 254 scheduling overruns
> .
> Tue Aug 13 14:45:32 PDT 2019
> ohci1: 257 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 248 scheduling overruns
> ohci1: 256 scheduling overruns
> ohci1: 245 scheduling overruns
> ohci1: 256 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
>
> OpenBSD/arm64 (hedges.my.domain) (console)
>
> login: ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
> ohci1: 259 scheduling overruns
>

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

Krystian Lewandowski-2
In reply to this post by mujo
I got similar behavior:
> ohci1: 1234 scheduling overruns
only on A64+ and not in Pinebook, with sxiuphy driver (enabling 2nd USB port)
from Patrick Wildt, sent earlier to this mailing list.

--
Krystian

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

mujo
In reply to this post by Mark Kettenis
On Wed, Aug 14, Mark Kettenis wrote:

> > Date: Tue, 13 Aug 2019 22:01:30 +0000
> > From: ioh <[hidden email]>
> >
> > On Tue, Aug 13, Mark Kettenis wrote:
> > > > Date: Tue, 13 Aug 2019 01:01:37 +0000
> > > > From: ioh <[hidden email]>
> > > >
> > > > On Mon, Aug 12, Mark Kettenis wrote:
> > > > > > Date: Sun, 11 Aug 2019 23:49:10 +0000
> > > > > > From: ioh <[hidden email]>
> > > > > >
> > > > > > I have been able to successfully install OpenBSD Current Aug 06
> > > > > > 2019 on the Olimex Teres laptop.  It has very similar hardware to
> > > > > > the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
> > > > > > from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
> > > > > > v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
> > > > > > ports tree.
> >
> > I took the latest linux v5.3-rc4 and added some basic ehci0 and
> > ohci0 nodes. I built the dtb with musl-cross-make and by running
> > make dtbs in the linux source tree:
> >
> > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
> > index 1069e7012c9c..a8596d742d68 100644
> > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
> > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
> > @@ -100,6 +100,11 @@
> >         status = "okay";
> >  };
> >
> > +&ehci0 {
> > +       phys = <&usbphy 0>;
> > +       status = "okay";
> > +};
> > +
> >  &ehci1 {
> >         status = "okay";
> >  };
> > @@ -153,6 +158,11 @@
> >         status = "okay";
> >  };
> >
> > +&ohci0 {
> > +       phys = <&usbphy 0>;
> > +       status = "okay";
> > +};
> > +
> >  &ohci1 {
> >         status = "okay";
> >  };
> >
> Right, now you need my latest commits!
>
> Latest snapshot kernel (dated Tue Aug 13) should be ok.

I dd'd the latest snapshot miniroot66.fs to a microsd with the
u-boot and atf as described above and the patched dts.  It appears
the keyboard is recognized but no driver is attached. It also
appears the camera is not given the uvideo driver as it was before.
External usb nic and external flash drives work.

Here are the boot logs:

U-Boot SPL 2019.07 (Aug 06 2019 - 22:39:39 +0000)
DRAM: 2048 MiB
Trying to boot from MMC1
NOTICE:  BL31: v2.1(release):v2.1
NOTICE:  BL31: Built : 22:20:23, Aug  6 2019
NOTICE:  BL31: Detected Allwinner A64/H64/R18 SoC (1689)
NOTICE:  BL31: Found U-Boot DTB at 0x408a4a0, model: Olimex A64 Teres-I
NOTICE:  BL31: PMIC: Detected AXP803 on RSB.


U-Boot 2019.07 (Aug 06 2019 - 22:39:39 +0000) Allwinner Technology

CPU:   Allwinner A64 (SUN50I)
Model: Olimex A64 Teres-I
DRAM:  2 GiB
MMC:   Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
Bus usb@1c1b000: USB EHCI 1.00
scanning bus usb@1c1b000 for devices...
      USB device not accepting new address (error=2)
4 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
24363 bytes read in 5 ms (4.6 MiB/s)
Found EFI removable media binary efi/boot/bootaa64.efi
Scanning disk [hidden email]...
Card did not respond to voltage select!
Scanning disk [hidden email]...
Disk [hidden email] not ready
Scanning disk [hidden email]...
Found 6 disks
BootOrder not defined
EFI boot manager: Cannot load any image
161122 bytes read in 12 ms (12.8 MiB/s)
disks: sd0* sd1
>> OpenBSD/arm64 BOOTAA64 0.18
boot>
cannot open sd0a:/etc/random.seed: No such file or directory
booting sd0a:/bsd: 2202188+619932+8747640+741088 [220743+109+511728+198149]=0xff00c8
type 0x2 pa 0x40000000 va 0x40000000 pages 0x4000 attr 0x8
type 0x7 pa 0x44000000 va 0x44000000 pages 0x3ef7 attr 0x8
type 0x4 pa 0x47ef7000 va 0x47ef7000 pages 0x12 attr 0x8
type 0x7 pa 0x47f09000 va 0x47f09000 pages 0x702cc attr 0x8
type 0x2 pa 0xb81d5000 va 0xb81d5000 pages 0xd26 attr 0x8
type 0x1 pa 0xb8efb000 va 0xb8efb000 pages 0x28 attr 0x8
type 0x0 pa 0xb8f23000 va 0xb8f23000 pages 0x7 attr 0x8
type 0x6 pa 0xb8f2a000 va 0x3e024be000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0xb8f2b000 va 0xb8f2b000 pages 0x6 attr 0x8
type 0x6 pa 0xb8f31000 va 0x3e024c5000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0xb8f32000 va 0xb8f32000 pages 0x1 attr 0x8
type 0x2 pa 0xb8f33000 va 0xb8f33000 pages 0x501d attr 0x8
type 0x5 pa 0xbdf50000 va 0x3e074e4000 pages 0x10 attr 0x8000000000000008
type 0x2 pa 0xbdf60000 va 0xbdf60000 pages 0xa0 attr 0x8
type 0x0 pa 0xbe000000 va 0xbe000000 pages 0x401 attr 0x8
type 0x2 pa 0xbe401000 va 0xbe401000 pages 0x1bff attr 0x8
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2019 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 6.6-beta (RAMDISK) #162: Mon Aug 12 21:05:24 MDT 2019
    [hidden email]:/usr/src/sys/arch/arm64/compile/RAMDISK
real mem  = 2015113216 (1921MB)
avail mem = 1920393216 (1831MB)
mainbus0 at root: Olimex A64 Teres-I
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.7
efi0: Das U-Boot rev 0x20190700
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
"osc24M_clk" at mainbus0 not configured
"osc32k_clk" at mainbus0 not configured
"pmu" at mainbus0 not configured
"sound" at mainbus0 not configured
"sound_spdif" at mainbus0 not configured
"spdif-out" at mainbus0 not configured
agtimer0 at mainbus0: tick rate 24000 KHz
simplebus0 at mainbus0: "soc"
sxisyscon0 at simplebus0
sxiccmu0 at simplebus0
sxipio0 at simplebus0: 103 pins
ampintc0 at simplebus0 nirq 224, ncpu 4: "interrupt-controller"
sxirtc0 at simplebus0
sxiccmu1 at simplebus0
sxipio1 at simplebus0: 13 pins
sxirsb0 at simplebus0
"x-powers,axp803" at sxirsb0 addr 0x3a3 not configured
"bus" at simplebus0 not configured
"dma-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"video-codec" at simplebus0 not configured
sximmc0 at simplebus0
sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
sximmc1 at simplebus0
sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
sximmc2 at simplebus0
sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
"eeprom" at simplebus0 not configured
"phy" at simplebus0 not configured
ehci0 at simplebus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
ohci0 at simplebus0: version 1.0
ehci1 at simplebus0
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
ohci1 at simplebus0: version 1.0
"dai" at simplebus0 not configured
"codec" at simplebus0 not configured
com0 at simplebus0: ns16550, no working fifo
com0: console
sxitwi0 at simplebus0
iic0 at sxitwi0
"gpu" at simplebus0 not configured
"pwm" at simplebus0 not configured
"hdmi-phy" at simplebus0 not configured
"interrupt-controller" at simplebus0 not configured
"codec-analog" at simplebus0 not configured
"watchdog" at simplebus0 not configured
gpio0 at sxipio0: 32 pins
gpio1 at sxipio0: 32 pins
gpio2 at sxipio0: 32 pins
gpio3 at sxipio0: 32 pins
gpio4 at sxipio0: 32 pins
gpio5 at sxipio0: 32 pins
gpio6 at sxipio0: 32 pins
gpio7 at sxipio0: 32 pins
gpio8 at sxipio1: 32 pins
usb2 at ohci0: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1
usb3 at ohci1: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1
"backlight" at mainbus0 not configured
"gpio-keys" at mainbus0 not configured
"leds" at mainbus0 not configured
"usb1-vbus" at mainbus0 not configured
"wifi_pwrseq" at mainbus0 not configured
"audio-amplifier" at mainbus0 not configured
simplefb0 at mainbus0: 1366x768, 32bpp
wsdisplay0 at simplefb0
wsdisplay0: screen 0 added (std, vt100 emulation)
scsibus0 at sdmmc0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SDCIT, 0030> SCSI2 0/direct removable
sd0: 7464MB, 512 bytes/sector, 15286272 sectors
manufacturer 0x024c, product 0xb723 at sdmmc1 function 1 not configured
scsibus1 at sdmmc2: 2 targets, initiator 0
sd1 at scsibus1 targ 1 lun 0: <Micron, R1J56L, 0000> SCSI2 0/direct removable
sd1: 14080MB, 512 bytes/sector, 28835840 sectors
uhub4 at uhub1 port 1 configuration 1 interface 0 "Genesys Logic USB2.0 Hub" rev 2.00/85.36 addr 2
urtwn0 at uhub4 port 2 configuration 1 interface 0 "Realtek 802.11n NIC" rev 2.00/0.00 addr 3
urtwn0: MAC/BB RTL8188EU, RF 6052 1T1R, address 84:16:f9:1d:70:5c
"Generic USB2.0 PC CAMERA" rev 2.00/1.00 addr 4 at uhub4 port 3 not configured
"Olimex Ltd. TERES Keyboard+Touchpad (drv)" rev 1.10/0.01 addr 5 at uhub4 port 4 not configured
softraid0 at root
scsibus2 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on rd0a swap on rd0b dump on rd0b
erase ^?, werase ^W, kill ^U, intr ^C, status ^T

Welcome to the OpenBSD/arm64 6.6 installation program.
(I)nstall, (U)pgrade, (A)utoinstall or (S)hell?

--
ioh

Reply | Threaded
Open this post in threaded view
|

Re: Booting and installing on the Olimex Teres laptop

mujo
In reply to this post by Mark Kettenis
> > > > > > I have been able to successfully install OpenBSD Current Aug 06
> > > > > > 2019 on the Olimex Teres laptop.  It has very similar hardware to
> > > > > > the PineBook, arm64 allwinner, etc.  I used u-boot-sunxi-with-spl.bin
> > > > > > from u-boot v2019.07 (teres_i_defconfig) and Arm Trusted Firmware
> > > > > > v2.1. The dtb (sun50i-a64-teres-i.dtb) is from the OpenBSD 6.5-release
> > > > > > ports tree.
> >
> > I took the latest linux v5.3-rc4 and added some basic ehci0 and
> > ohci0 nodes. I built the dtb with musl-cross-make and by running
> > make dtbs in the linux source tree:
> >
> > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
> > index 1069e7012c9c..a8596d742d68 100644
> > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
> > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
> > @@ -100,6 +100,11 @@
> >         status = "okay";
> >  };
> >
> > +&ehci0 {
> > +       phys = <&usbphy 0>;
> > +       status = "okay";
> > +};
> > +
> >  &ehci1 {
> >         status = "okay";
> >  };
> > @@ -153,6 +158,11 @@
> >         status = "okay";
> >  };
> >
> > +&ohci0 {
> > +       phys = <&usbphy 0>;
> > +       status = "okay";
> > +};
> > +
> >  &ohci1 {
> >         status = "okay";
> >  };
>
> Right, now you need my latest commits!
>
> Latest snapshot kernel (dated Tue Aug 13) should be ok.

Okay dmesg from a full install is different than from the install
kernel. External usb devices work and the camera is recognized by
uvideo. The keyboard is picked up by umodem0 again.

Beneath the dmesg output here, I rebooted with umodem disabled and provided
lsusb -v output again:

OpenBSD 6.6-beta (GENERIC.MP) #174: Mon Aug 12 20:44:54 MDT 2019
    [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem  = 2018369536 (1924MB)
avail mem = 1928814592 (1839MB)
mainbus0 at root: Olimex A64 Teres-I
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.7
efi0: Das U-Boot rev 0x20190700
apm0 at mainbus0
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
"osc24M_clk" at mainbus0 not configured
"osc32k_clk" at mainbus0 not configured
"pmu" at mainbus0 not configured
"sound" at mainbus0 not configured
"sound_spdif" at mainbus0 not configured
"spdif-out" at mainbus0 not configured
agtimer0 at mainbus0: tick rate 24000 KHz
simplebus0 at mainbus0: "soc"
sxisyscon0 at simplebus0
sxiccmu0 at simplebus0
sxipio0 at simplebus0: 103 pins
ampintc0 at simplebus0 nirq 224, ncpu 4 ipi: 0, 1: "interrupt-controller"
sxirtc0 at simplebus0
sxiccmu1 at simplebus0
sxipio1 at simplebus0: 13 pins
sxirsb0 at simplebus0
axppmic0 at sxirsb0 addr 0x3a3: AXP803
"bus" at simplebus0 not configured
"dma-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"video-codec" at simplebus0 not configured
sximmc0 at simplebus0
sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
sximmc1 at simplebus0
sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
sximmc2 at simplebus0
sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
"eeprom" at simplebus0 not configured
"phy" at simplebus0 not configured
ehci0 at simplebus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
ohci0 at simplebus0: version 1.0
ehci1 at simplebus0
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
ohci1 at simplebus0: version 1.0
"dai" at simplebus0 not configured
"codec" at simplebus0 not configured
com0 at simplebus0: ns16550, no working fifo
com0: console
sxitwi0 at simplebus0
iic0 at sxitwi0
"gpu" at simplebus0 not configured
"pwm" at simplebus0 not configured
"hdmi-phy" at simplebus0 not configured
"interrupt-controller" at simplebus0 not configured
"codec-analog" at simplebus0 not configured
"watchdog" at simplebus0 not configured
gpio0 at sxipio0: 32 pins
gpio1 at sxipio0: 32 pins
gpio2 at sxipio0: 32 pins
gpio3 at sxipio0: 32 pins
gpio4 at sxipio0: 32 pins
gpio5 at sxipio0: 32 pins
gpio6 at sxipio0: 32 pins
gpio7 at sxipio0: 32 pins
gpio8 at sxipio1: 32 pins
usb2 at ohci0: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1
usb3 at ohci1: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1
"backlight" at mainbus0 not configured
"gpio-keys" at mainbus0 not configured
"leds" at mainbus0 not configured
"usb1-vbus" at mainbus0 not configured
"wifi_pwrseq" at mainbus0 not configured
"audio-amplifier" at mainbus0 not configured
simplefb0 at mainbus0: 1366x768, 32bpp
wsdisplay0 at simplefb0 mux 1
wsdisplay0: screen 0-5 added (std, vt100 emulation)
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu1: 512KB 64b/line 16-way L2 cache
cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu2: 512KB 64b/line 16-way L2 cache
cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu3: 512KB 64b/line 16-way L2 cache
manufacturer 0x024c, product 0xb723 at sdmmc1 function 1 not configured
scsibus0 at sdmmc2: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <Micron, R1J56L, 0000> SCSI2 0/direct removable
sd0: 14080MB, 512 bytes/sector, 28835840 sectors
uhub4 at uhub1 port 1 configuration 1 interface 0 "Genesys Logic USB2.0 Hub" rev 2.00/85.36 addr 2
urtwn0 at uhub4 port 2 configuration 1 interface 0 "Realtek 802.11n NIC" rev 2.00/0.00 addr 3
urtwn0: MAC/BB RTL8188EU, RF 6052 1T1R, address 84:16:f9:1d:70:5c
uvideo0 at uhub4 port 3 configuration 1 interface 0 "Generic USB2.0 PC CAMERA" rev 2.00/1.00 addr 4
video0 at uvideo0
umodem0 at uhub4 port 4 configuration 1 interface 2 "Olimex Ltd. TERES Keyboard+Touchpad (drv)" rev 1.10/0.01 addr 5
umodem0: data interface 3, has no CM over data, has break
umodem0: status change notification available
ucom0 at umodem0
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on sd0a (f2f6b5a66e29f645.a) swap on sd0b dump on sd0b

And if umodem is disabled, here is the resulting dmesg:

OpenBSD 6.6-beta (GENERIC.MP) #174: Mon Aug 12 20:44:54 MDT 2019
    [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem  = 2018369536 (1924MB)
avail mem = 1928814592 (1839MB)
User Kernel Config
UKC> find \^G\^H \^H\^H \^H\^H \^H\^H \^H\^H \^Hfu\^H \^Hind\^H \^H\^H \^H\^H \^H\^H \^Hdisable umodem
 70 umodem* disabled
UKC> l\^H \^Hquit
Continuing...
mainbus0 at root: Olimex A64 Teres-I
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.7
efi0: Das U-Boot rev 0x20190700
apm0 at mainbus0
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
"osc24M_clk" at mainbus0 not configured
"osc32k_clk" at mainbus0 not configured
"pmu" at mainbus0 not configured
"sound" at mainbus0 not configured
"sound_spdif" at mainbus0 not configured
"spdif-out" at mainbus0 not configured
agtimer0 at mainbus0: tick rate 24000 KHz
simplebus0 at mainbus0: "soc"
sxisyscon0 at simplebus0
sxiccmu0 at simplebus0
sxipio0 at simplebus0: 103 pins
ampintc0 at simplebus0 nirq 224, ncpu 4 ipi: 0, 1: "interrupt-controller"
sxirtc0 at simplebus0
sxiccmu1 at simplebus0
sxipio1 at simplebus0: 13 pins
sxirsb0 at simplebus0
axppmic0 at sxirsb0 addr 0x3a3: AXP803
"bus" at simplebus0 not configured
"dma-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"video-codec" at simplebus0 not configured
sximmc0 at simplebus0
sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
sximmc1 at simplebus0
sdmmc1 at sximmc1: 4-bit, sd high-speed, mmc high-speed, dma
sximmc2 at simplebus0
sdmmc2 at sximmc2: 8-bit, sd high-speed, mmc high-speed, dma
"eeprom" at simplebus0 not configured
"phy" at simplebus0 not configured
ehci0 at simplebus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
ohci0 at simplebus0: version 1.0
ehci1 at simplebus0
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 addr 1
ohci1 at simplebus0: version 1.0
"dai" at simplebus0 not configured
"codec" at simplebus0 not configured
com0 at simplebus0: ns16550, no working fifo
com0: console
sxitwi0 at simplebus0
iic0 at sxitwi0
"gpu" at simplebus0 not configured
"pwm" at simplebus0 not configured
"hdmi-phy" at simplebus0 not configured
"interrupt-controller" at simplebus0 not configured
"codec-analog" at simplebus0 not configured
"watchdog" at simplebus0 not configured
gpio0 at sxipio0: 32 pins
gpio1 at sxipio0: 32 pins
gpio2 at sxipio0: 32 pins
gpio3 at sxipio0: 32 pins
gpio4 at sxipio0: 32 pins
gpio5 at sxipio0: 32 pins
gpio6 at sxipio0: 32 pins
gpio7 at sxipio0: 32 pins
gpio8 at sxipio1: 32 pins
usb2 at ohci0: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1
usb3 at ohci1: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00 addr 1
"backlight" at mainbus0 not configured
"gpio-keys" at mainbus0 not configured
"leds" at mainbus0 not configured
"usb1-vbus" at mainbus0 not configured
"wifi_pwrseq" at mainbus0 not configured
"audio-amplifier" at mainbus0 not configured
simplefb0 at mainbus0: 1366x768, 32bpp
wsdisplay0 at simplefb0 mux 1
wsdisplay0: screen 0-5 added (std, vt100 emulation)
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu1: 512KB 64b/line 16-way L2 cache
cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu2: 512KB 64b/line 16-way L2 cache
cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu3: 512KB 64b/line 16-way L2 cache
manufacturer 0x024c, product 0xb723 at sdmmc1 function 1 not configured
scsibus0 at sdmmc2: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <Micron, R1J56L, 0000> SCSI2 0/direct removable
sd0: 14080MB, 512 bytes/sector, 28835840 sectors
uhub4 at uhub1 port 1 configuration 1 interface 0 "Genesys Logic USB2.0 Hub" rev 2.00/85.36 addr 2
urtwn0 at uhub4 port 2 configuration 1 interface 0 "Realtek 802.11n NIC" rev 2.00/0.00 addr 3
urtwn0: MAC/BB RTL8188EU, RF 6052 1T1R, address 84:16:f9:1d:70:5c
uvideo0 at uhub4 port 3 configuration 1 interface 0 "Generic USB2.0 PC CAMERA" rev 2.00/1.00 addr 4
video0 at uvideo0
ugen0 at uhub4 port 4 "Olimex Ltd. TERES Keyboard+Touchpad (drv)" rev 1.10/0.01 addr 5
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on sd0a (f2f6b5a66e29f645.a) swap on sd0b dump on sd0b


Finally, lsusb -v output when the keyboard is picked up by ugen:

Bus 000 Device 001: ID 0000:0000
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x0000
  idProduct          0x0000
  bcdDevice            1.00
  iManufacturer           1 Generic
  iProduct                2 EHCI root hub
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              12
Hub Descriptor:
  bLength              10
  bDescriptorType      41
  nNbrPorts             1
  wHubCharacteristic 0x0002
    No power switching (usb 1.0)
    Ganged overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood      200 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0x00
 Hub Port Status:
   Port 1: 0000.0500 highspeed power
Device Status:     0x0001
  Self Powered

Bus 001 Device 001: ID 0000:0000
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x0000
  idProduct          0x0000
  bcdDevice            1.00
  iManufacturer           1 Generic
  iProduct                2 EHCI root hub
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              12
Hub Descriptor:
  bLength              10
  bDescriptorType      41
  nNbrPorts             1
  wHubCharacteristic 0x0002
    No power switching (usb 1.0)
    Ganged overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood      200 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0x00
 Hub Port Status:
   Port 1: 0000.0503 highspeed power enable connect
Device Status:     0x0001
  Self Powered

Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x05e3 Genesys Logic, Inc.
  idProduct          0x0608 USB-2.0 4-Port HUB
  bcdDevice           85.36
  iManufacturer           0
  iProduct                1 USB2.0 Hub
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x00e0
    Ganged power switching
    Ganged overcurrent protection
    TT think time 32 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0503 highspeed power enable connect
   Port 3: 0000.0503 highspeed power enable connect
   Port 4: 0000.0103 power enable connect
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 001 Device 003: ID 0bda:8179 Realtek Semiconductor Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0bda Realtek Semiconductor Corp.
  idProduct          0x8179
  bcdDevice            0.00
  iManufacturer           1 Realtek
  iProduct                2 802.11n NIC
  iSerial                 3 00E04C0001
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      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     0x02  EP 2 OUT
        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     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0002
  (Bus Powered)
  Remote Wakeup Enabled

Bus 001 Device 004: ID 1908:2311 GEMBIRD
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x1908 GEMBIRD
  idProduct          0x2311
  bcdDevice            1.00
  iManufacturer           1 Generic
  iProduct                2 USB2.0 PC CAMERA
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          341
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              256mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass         14 Video
      bFunctionSubClass       3 Video Interface Collection
      bFunctionProtocol       0
      iFunction               2 USB2.0 PC CAMERA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      1 Video Control
      bInterfaceProtocol      0
      iInterface              2 USB2.0 PC CAMERA
      VideoControl Interface Descriptor:
        bLength                13
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdUVC               1.00
        wTotalLength           51
        dwClockFrequency       48.000000MHz
        bInCollection           1
        baInterfaceNr( 0)       1
      VideoControl Interface Descriptor:
        bLength                18
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Camera Sensor
        bAssocTerminal          0
        iTerminal               0
        wObjectiveFocalLengthMin      0
        wObjectiveFocalLengthMax      0
        wOcularFocalLength            0
        bControlSize                  3
        bmControls           0x00000000
      VideoControl Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      5 (PROCESSING_UNIT)
      Warning: Descriptor too short
        bUnitID                 2
        bSourceID               1
        wMaxMultiplier          0
        bControlSize            2
        bmControls     0x0000053f
          Brightness
          Contrast
          Hue
          Saturation
          Sharpness
          Gamma
          Backlight Compensation
          Power Line Frequency
        iProcessing             0
        bmVideoStandards     0x 9
          None
          SECAM - 625/50
      VideoControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID               2
        iTerminal               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               5
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      VideoStreaming Interface Descriptor:
        bLength                            14
        bDescriptorType                    36
        bDescriptorSubtype                  1 (INPUT_HEADER)
        bNumFormats                         1
        wTotalLength                      227
        bEndPointAddress                  130
        bmInfo                              0
        bTerminalLink                       3
        bStillCaptureMethod                 2
        bTriggerSupport                     1
        bTriggerUsage                       1
        bControlSize                        1
        bmaControls( 0)                    27
      VideoStreaming Interface Descriptor:
        bLength                            27
        bDescriptorType                    36
        bDescriptorSubtype                  4 (FORMAT_UNCOMPRESSED)
        bFormatIndex                        1
        bNumFrameDescriptors                5
        guidFormat                            {59555932-0000-1000-8000-00aa00389b71}
        bBitsPerPixel                      16
        bDefaultFrameIndex                  1
        bAspectRatioX                       0
        bAspectRatioY                       0
        bmInterlaceFlags                 0x00
          Interlaced stream or variable: No
          Fields per frame: 2 fields
          Field 1 first: No
          Field pattern: Field 1 only
          bCopyProtect                      0
      VideoStreaming Interface Descriptor:
        bLength                            34
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         1
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            640
        wHeight                           480
        dwMinBitRate                 73728000
        dwMaxBitRate                147456000
        dwMaxVideoFrameBufferSize      614400
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  2
        dwFrameInterval( 0)            333333
        dwFrameInterval( 1)            666667
      VideoStreaming Interface Descriptor:
        bLength                            34
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         2
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            352
        wHeight                           288
        dwMinBitRate                 24330240
        dwMaxBitRate                 48660480
        dwMaxVideoFrameBufferSize      202752
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  2
        dwFrameInterval( 0)            333333
        dwFrameInterval( 1)            666667
      VideoStreaming Interface Descriptor:
        bLength                            34
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         3
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            320
        wHeight                           240
        dwMinBitRate                 18432000
        dwMaxBitRate                 36864000
        dwMaxVideoFrameBufferSize      153600
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  2
        dwFrameInterval( 0)            333333
        dwFrameInterval( 1)            666667
      VideoStreaming Interface Descriptor:
        bLength                            34
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         4
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            176
        wHeight                           144
        dwMinBitRate                  6082560
        dwMaxBitRate                 12165120
        dwMaxVideoFrameBufferSize       50688
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  2
        dwFrameInterval( 0)            333333
        dwFrameInterval( 1)            666667
      VideoStreaming Interface Descriptor:
        bLength                            34
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         5
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            160
        wHeight                           120
        dwMinBitRate                  4608000
        dwMaxBitRate                  9216000
        dwMaxVideoFrameBufferSize       38400
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  2
        dwFrameInterval( 0)            333333
        dwFrameInterval( 1)            666667
      VideoStreaming Interface Descriptor:
        bLength                            10
        bDescriptorType                    36
        bDescriptorSubtype                  3 (STILL_IMAGE_FRAME)
        bEndpointAddress                    0
        bNumImageSizePatterns               1
        wWidth( 0)                        640
        wHeight( 0)                       480
        bNumCompressionPatterns             1
      VideoStreaming Interface Descriptor:
        bLength                             6
        bDescriptorType                    36
        bDescriptorSubtype                 13 (COLORFORMAT)
        bColorPrimaries                     0 (Unspecified)
        bTransferCharacteristics            0 (Unspecified)
        bMatrixCoefficients                 0 (Unspecified)
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x1400  3x 1024 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

Bus 001 Device 005: ID 15ba:003c Olimex Ltd.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x15ba Olimex Ltd.
  idProduct          0x003c
  bcdDevice            0.01
  iManufacturer           1 Olimex Ltd.
  iProduct                2 TERES Keyboard+Touchpad (drv)
  iSerial               220 A4138353330351A02211
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          120
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         2
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       2 Abstract (modem)
      bFunctionProtocol       1 AT-commands (v.25ter)
      iFunction               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              0
      CDC Header:
        bcdCDC               1.10
      CDC ACM:
        bmCapabilities       0x06
          sends break
          line coding and serial state
      CDC Union:
        bMasterInterface        2
        bSlaveInterface         3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval             255
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               5
Device Status:     0x0000
  (Bus Powered)

Bus 002 Device 001: ID 0000:0000
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x0000
  idProduct          0x0000
  bcdDevice            1.00
  iManufacturer           1 Generic
  iProduct                2 OHCI root hub
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval             255
Hub Descriptor:
  bLength              10
  bDescriptorType      41
  nNbrPorts             1
  wHubCharacteristic 0x0002
    No power switching (usb 1.0)
    Ganged overcurrent protection
  bPwrOn2PwrGood        2 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0x00
 Hub Port Status:
   Port 1: 0000.0100 power
Device Status:     0x0001
  Self Powered

Bus 003 Device 001: ID 0000:0000
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x0000
  idProduct          0x0000
  bcdDevice            1.00
  iManufacturer           1 Generic
  iProduct                2 OHCI root hub
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval             255
Hub Descriptor:
  bLength              10
  bDescriptorType      41
  nNbrPorts             1
  wHubCharacteristic 0x0002
    No power switching (usb 1.0)
    Ganged overcurrent protection
  bPwrOn2PwrGood        2 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0x00
 Hub Port Status:
   Port 1: 0000.0100 power
Device Status:     0x0001
  Self Powered


--
ioh