OpenIPC / firmware

Alternative IP Camera firmware from an open community
https://openipc.org
MIT License
1.23k stars 240 forks source link

gk7205v210: usb not working #995

Open lazyan opened 1 year ago

lazyan commented 1 year ago

Successfully installed the lite firmware for subject. Logs shown the normal starting up of xhci drivers, but finally the following messages are shown:

xhci-hcd` xhci-hcd.0.auto: xHCI host not responding to stop endpoint command.
xhci-hcd xhci-hcd.0.auto: Assuming host is dying, halting host.
xhci-hcd xhci-hcd.0.auto: HC died; cleaning up
usb usb1-port1: couldn't allocate usb_device

What could cause the problem?

Any plans to make fpv drivers for this SOC?

lazyan commented 1 year ago

Just to clarify the issue. Tried to connect different usb devices, to camera but they are not appear on lsusb.

lazyan commented 1 year ago

lsusb:

Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0003

dmesg:

Booting Linux on physical CPU 0x0
Linux version 4.9.37 (runner@fv-az354-870) (buildroot-gcc-12.2.0) #1 Sat Sep 16 18:57:56 UTC 2023
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: div instructions available: patching division code
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt:Machine model: Goke GK7205V200 DEMO Board
cma zone is not set!
Memory policy: Data cache writeback
On node 0 totalpages: 8192
free_area_init_node: node 0, pgdat c05132d8, node_mem_map c1fbb000
  Normal zone: 64 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 8192 pages, LIFO batch:0
CPU: All CPU(s) started in SVC mode.
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line: mem=32M console=ttyAMA0,115200 panic=20 rootfstype=squashfs root=/dev/mtdblock3 init=/init mtdparts=sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data) mmz_allocator=gk
PID hash table entries: 128 (order: -3, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 27004K/32768K available (3893K kernel code, 150K rwdata, 916K rodata, 200K init, 181K bss, 5764K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xc2800000 - 0xff800000   ( 976 MB)
    lowmem  : 0xc0000000 - 0xc2000000   (  32 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc03d56a8   (3894 kB)
      .init : 0xc04bc000 - 0xc04ee000   ( 200 kB)
      .data : 0xc04ee000 - 0xc0513ae0   ( 151 kB)
       .bss : 0xc0515000 - 0xc0542468   ( 182 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:16 nr_irqs:16 16
Gic dist init...
arm_arch_timer: Architected cp15 timer(s) running at 50.00MHz (phys).
clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb8812736b, max_idle_ns: 440795202655 ns
sched_clock: 56 bits at 50MHz, resolution 20ns, wraps every 4398046511100ns
Switching to timer-based delay loop, resolution 20ns
clocksource: arm,sp804: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 100.00 BogoMIPS (lpj=500000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x40008200 - 0x40008258
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 256 (order: -1, 3072 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
Serial: AMBA PL011 UART driver
12040000.uart: ttyAMA0 at MMIO 0x12040000 (irq = 21, base_baud = 0) is a PL011 rev2
console [ttyAMA0] enabled
12041000.uart: ttyAMA1 at MMIO 0x12041000 (irq = 22, base_baud = 0) is a PL011 rev2
12042000.uart: ttyAMA2 at MMIO 0x12042000 (irq = 23, base_baud = 0) is a PL011 rev2
ssp-pl022 12070000.spi: ARM PL022 driver, device ID: 0x00041022
ssp-pl022 12070000.spi: mapped registers from 0x12070000 to c286f000
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
clocksource: Switched to clocksource arch_sys_counter
NET: Registered protocol family 2
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
workingset: timestamp_bits=30 max_order=13 bucket_order=0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
jffs2: version 2.2 (NAND) (ZLIB) (RTIME) (c) 2001-2006 Red Hat, Inc.
yaffs: yaffs Installing.
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler noop registered
io scheduler deadline registered (default)
pl061_gpio 120b0000.gpio_chip: PL061 GPIO chip @0x120b0000 registered
pl061_gpio 120b1000.gpio_chip: PL061 GPIO chip @0x120b1000 registered
pl061_gpio 120b2000.gpio_chip: PL061 GPIO chip @0x120b2000 registered
pl061_gpio 120b4000.gpio_chip: PL061 GPIO chip @0x120b4000 registered
pl061_gpio 120b5000.gpio_chip: PL061 GPIO chip @0x120b5000 registered
pl061_gpio 120b6000.gpio_chip: PL061 GPIO chip @0x120b6000 registered
pl061_gpio 120b7000.gpio_chip: PL061 GPIO chip @0x120b7000 registered
pl061_gpio 120b8000.gpio_chip: PL061 GPIO chip @0x120b8000 registered
brd: module loaded
loop: module loaded
bsp-sfc bsp_spi_nor.0: SPI Nor ID Table Version 1.2
bsp-sfc bsp_spi_nor.0: Force global unlock
bsp-sfc bsp_spi_nor.0: all blocks are unlocked.
bsp-sfc bsp_spi_nor.0: SR1 [00], SR2 [00], SR3 [00]
bsp-sfc bsp_spi_nor.0: FM25Q128-SOB-T-G (Chipsize 16 Mbytes, Blocksize 64KiB)
5 cmdlinepart partitions found on MTD device sfc
5 cmdlinepart partitions found on MTD device sfc
Creating 5 MTD partitions on "sfc":
0x000000000000-0x000000040000 : "boot"
0x000000040000-0x000000050000 : "env"
0x000000050000-0x000000250000 : "kernel"
0x000000250000-0x000000750000 : "rootfs"
0x000000750000-0x000001000000 : "rootfs_data"
SPI Nand ID Table Version 2.7
Cannot found a valid SPI Nand Device
bsp_spi_nand_probe(157): Error: driver probe, result: -19
FEPHY:addr=1, la_am=0x9, ldo_am=0x5, r_tuning=0x28
libphy: femac_mii_bus: probed
libphy: Fixed MDIO Bus: probed
femac 10040000.ethernet: using random MAC address 36:e6:86:40:b2:b9
Generic PHY 10041100.mdio:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=10041100.mdio:01, irq=-1)
phy_id=0x20669906, phy_mode=mii
xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
xhci-hcd xhci-hcd.0.auto: hcc params 0x0220fe6c hci version 0x110 quirks 0x20010010
xhci-hcd xhci-hcd.0.auto: irq 116, io mem 0x10030000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
hub 2-0:1.0: USB hub found
hub 2-0:1.0: hub can't support USB3.0
goke_rtc 120e0000.rtc: rtc core: registered 120e0000.rtc as rtc0
goke_rtc 120e0000.rtc: RTC driver for goke enabled
i2c /dev entries driver
goke-i2c 12060000.i2c: goke-i2c0@100000hz registered
goke-i2c 12061000.i2c: goke-i2c1@100000hz registered
goke-i2c 12062000.i2c: goke-i2c2@100000hz registered
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: SDHCI controller on 10010000.sdhci [10010000.sdhci] using ADMA in legacy mode
usb 1-1: new full-speed USB device number 2 using xhci-hcd
mmc1: SDHCI controller on 10020000.sdhci [10020000.sdhci] using ADMA in legacy mode
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 10
NET: Registered protocol family 17
bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
goke_rtc 120e0000.rtc: hctosys: unable to read the hardware clock
VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
devtmpfs: mounted
Freeing unused kernel memory: 200K (c04bc000 - c04ee000)
This architecture does not have kernel memory protection.
random: crng init done
[resetd] GPIO undefined in /usr/sbin/resetd
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
open_sys_config: loading out-of-tree module taints kernel.
==== online_flag=0, cmos_yuv_flag=0, sensor=imx307, chip=gk7205v200, board=demo====
==== g_quick_start_flag=0 ====
sysconfig init success!
Module media: init ok
Media Memory Zone Manager
osal 1.0 init success!
gk7205v200_base: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
load sys.ko OK!
load region.ko OK!
load vgs.ko OK!
load vi.ko OK !
ISP Mod init!
load vpss.ko OK!
load chnl.ko OK!
load vedu.ko OK!
load rc.ko OK!
load venc.ko OK!
load h264e.ko OK!
load h265e.ko OK!
load jpege.ko OK!
load ive.ko OK!
Load sensor_spi.ko OK !
load mipi_rx driver successful!
register dev
Watchdog Timer: 0.01 initialized. default_margin=60 sec (nodeamon= 0)
wtdg init ok. ver=Sep 16 2023, 19:00:19.
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
xhci-hcd xhci-hcd.0.auto: xHCI host not responding to stop endpoint command.
xhci-hcd xhci-hcd.0.auto: Assuming host is dying, halting host.
xhci-hcd xhci-hcd.0.auto: HC died; cleaning up
usb usb1-port1: couldn't allocate usb_device
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
Watchdog is disabled!

fw_printenv:

arch=arm
baseaddr=0x42000000
baudrate=115200
board=gk7205v200
board_name=gk7205v200
bootargsnfs=mem=${osmem} console=ttyAMA0,115200 panic=20 root=/dev/nfs rootfstype=nfs ip=${ipaddr}:::255.255.255.0::eth0 nfsroot=${serverip}:${nfsroot},v3,nolock rw ${extras}
bootargsubi=mem=${osmem} console=ttyAMA0,115200 panic=20 init=/init root=ubi0:rootfs rootfstype=ubifs ubi.mtd=3,2048 mtdparts=${mtdparts} ${extras}
bootcmd=setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read ${baseaddr} 0x50000 0x300000; bootm ${baseaddr}
bootcmdnand=setenv setargs setenv bootargs ${bootargs}; run setargs; nand read ${baseaddr} 0x100000 0x300000; bootm ${baseaddr}
bootcmdnor=setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read ${baseaddr} 0x50000 0x300000; bootm ${baseaddr}
bootcmdubi=setenv setargs setenv bootargs ${bootargsubi}; run setargs; nand read ${baseaddr} 0x100000 0x300000; bootm ${baseaddr}
bootnfs=setenv setargs setenv bootargs ${bootargsnfs}; run setargs; tftpboot ${baseaddr} uImage.${soc}; bootm ${baseaddr}
cpu=armv7
ethact=eth0
ethaddr=de:2d:df:72:bc:72
gatewayip=192.168.1.1
ipaddr=192.168.0.28
mtdparts=sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)
mtdpartsnand=setenv mtdparts nand:256k(boot),768k(wtf),3072k(kernel),10240k(rootfs),-(rootfs_data)
mtdpartsnor16m=setenv mtdparts sfc:256k(boot),64k(env),3072k(kernel),10240k(rootfs),-(rootfs_data)
mtdpartsnor8m=setenv mtdparts sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)
mtdpartsubi=setenv mtdparts nand:256k(boot),768k(wtf),3072k(kernel),-(ubi)
netmask=255.255.255.0
nfsroot=/srv/nfs/gk7205v200
osmem=32M
serverip=192.168.0.22
setargs=setenv bootargs mem=${osmem} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=${mtdparts} ${extras}
setnand=run mtdpartsubi; setenv bootcmd ${bootcmdubi}; saveenv; reset
setnor16m=run mtdpartsnor16m; setenv bootcmd ${bootcmdnor}; saveenv; reset
setnor8m=run mtdpartsnor8m; setenv bootcmd ${bootcmdnor}; saveenv; reset
stderr=serial
stdin=serial
stdout=serial
totalmem=64M
uknand=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} && nand erase 0x100000 0x300000; nand write ${baseaddr} 0x100000 0x300000
uknor16m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} && sf probe 0; sf erase 0x50000 0x300000; sf write ${baseaddr} 0x50000 ${filesize}
uknor8m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} && sf probe 0; sf erase 0x50000 0x200000; sf write ${baseaddr} 0x50000 ${filesize}
urnand=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.ubi.${soc} && nand erase 0x400000 0x7c00000; nand write ${baseaddr} 0x400000 ${filesize}
urnor16m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.squashfs.${soc} && sf probe 0; sf erase 0x350000 0xa00000; sf write ${baseaddr} 0x350000 ${filesize}
urnor8m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.squashfs.${soc} && sf probe 0; sf erase 0x250000 0x500000; sf write ${baseaddr} 0x250000 ${filesize}
vendor=goke
verify=n
bootargs=mem=32M console=ttyAMA0,115200 panic=20 rootfstype=squashfs root=/dev/mtdblock3 init=/init mtdparts=sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data) mmz_allocator=gk
sensor=imx307
bootdelay=0
soc=gk7205v210
themactep commented 1 year ago

please use proper markdown markup

piaosn commented 9 months ago

I encountered the same problem. Then I moved to Hi3516ev300.

RoboSchmied commented 8 months ago

USB is working on gk7205v210. I flashed gk7205v210-fpv-8mb.bin.

Please check your wiring!

RoboSchmied commented 8 months ago

Usb is working on gk7205v210.

root@openipc-gk7205v210:/etc/sensors# dmesg | grep -i usb
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
hub 2-0:1.0: USB hub found
hub 2-0:1.0: hub can't support USB3.0
usb 1-1: new high-speed USB device number 2 using xhci-hcd
usbcore: registered new interface driver rtl88xxau
usb 1-1: USB disconnect, device number 2
usb 1-1: new high-speed USB device number 3 using xhci-hcd
usb 1-1: USB disconnect, device number 3
usb 1-1: new high-speed USB device number 4 using xhci-hcd
usb 1-1: USB disconnect, device number 4
usb 1-1: new high-speed USB device number 5 using xhci-hcd
root@openipc-gk7205v210:/etc/sensors# lsusb 
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 005: ID 0bda:8812
Bus 002 Device 001: ID 1d6b:0003

Please try flashing a recent image.