昨天刚移植的系统,增加了adb,开机进shell里手动执行下面指令:
modprobe g_ffs idVendor=0x18d1 idProduct=0x4e42 iSerialNumber="buildroot"
mkdir -p /dev/usb-ffs/adb
mount -t functionfs adb /dev/usb-ffs/adb -o uid=2000,gid=2000
adbd &
然后插入usb,电脑也识别出adb设备了,但是在cmd里面adb shell错误:error: device not found
这是为啥?
插入usb之后提示:
[ 87.222118] g_ffs gadget: high-speed config #1: FunctionFS + RNDIS
是RNDIS影响的么?
1. 这是插入usb电脑驱动:
2. adb shell:
Microsoft Windows XP [版本 6.1.7601]
(C) 版权所有 1985-2001 Microsoft Corp.
F:\Lichee Nano\扩展\adb shell>adb shell
* daemon not running. starting it now *
* daemon started successfully *
error: device not found
3. 开机启动log:
#
U-Boot SPL 2018.01 (Jul 08 2020 - 03:26:27)
DRAM: 32 MiB
Trying to boot from MMC1
Card did not respond to voltage select!
mmc_init: -95, time 22
spl: mmc init failed with error: -95
Trying to boot from sunxi SPI
U-Boot 2018.01 (Jul 08 2020 - 03:26:27 +0000) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 32 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x100000, size 0x4000
SF: 16384 bytes @ 0x100000 Read: OK
device 0 offset 0x110000, size 0x400000
SF: 4194304 bytes @ 0x110000 Read: OK
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 816fa000, end 816ff130 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.15.0-rc8-licheepi-nano (root@daeadcd74263) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #8 Tue Jul 7 03:34:50 UTC 2020
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt: Machine model: Lichee Pi Nano
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] random: fast init done
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2
[ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Memory: 22668K/32768K available (6144K kernel code, 240K rwdata, 1444K rodata, 1024K init, 249K bss, 10100K reserved, 0K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xc2800000 - 0xff800000 ( 976 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc2000000 ( 32 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (7136 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 241 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 250 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000045] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000110] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000644] Console: colour dummy device 80x30
[ 0.000729] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070230] pid_max: default: 32768 minimum: 301
[ 0.070537] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070576] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.071988] CPU: Testing write buffer coherency: ok
[ 0.073611] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.076117] devtmpfs: initialized
[ 0.082791] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.082854] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.083105] pinctrl core: initialized pinctrl subsystem
[ 0.085048] NET: Registered protocol family 16
[ 0.086441] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.088217] cpuidle: using governor menu
[ 0.114189] SCSI subsystem initialized
[ 0.114514] usbcore: registered new interface driver usbfs
[ 0.114689] usbcore: registered new interface driver hub
[ 0.114878] usbcore: registered new device driver usb
[ 0.115300] pps_core: LinuxPPS API ver. 1 registered
[ 0.115326] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.115387] PTP clock support registered
[ 0.115896] Advanced Linux Sound Architecture Driver Initialized.
[ 0.117367] clocksource: Switched to clocksource timer
[ 0.143820] NET: Registered protocol family 2
[ 0.145201] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.145278] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.145328] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.145579] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.145632] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.146079] NET: Registered protocol family 1
[ 0.147257] RPC: Registered named UNIX socket transport module.
[ 0.147296] RPC: Registered udp transport module.
[ 0.147313] RPC: Registered tcp transport module.
[ 0.147328] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.149611] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.151372] Initialise system trusted keyrings
[ 0.151939] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[ 0.167018] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.169373] NFS: Registering the id_resolver key type
[ 0.169456] Key type id_resolver registered
[ 0.169478] Key type id_legacy registered
[ 0.169591] jffs2: version 2.2. (NAND) ? 2001-2006 Red Hat, Inc.
[ 0.183954] Key type asymmetric registered
[ 0.183995] Asymmetric key parser 'x509' registered
[ 0.184189] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[ 0.184220] io scheduler noop registered
[ 0.184237] io scheduler deadline registered
[ 0.185024] io scheduler cfq registered (default)
[ 0.185058] io scheduler mq-deadline registered
[ 0.185077] io scheduler kyber registered
[ 0.186155] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.195669] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.382501] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.389244] console [ttyS0] disabled
[ 0.409492] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 23, base_baud = 6250000) is a 16550A
[ 0.889289] console [ttyS0] enabled
[ 0.900051] panel-simple panel: panel supply power not found, using dummy regulator
[ 0.938039] brd: module loaded
[ 0.959194] loop: module loaded
[ 0.963055] SCSI Media Changer driver v0.25
[ 0.970823] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.975603] 4 ofpart partitions found on MTD device spi0.0
[ 0.981194] Creating 4 MTD partitions on "spi0.0":
[ 0.986006] 0x000000000000-0x000000100000 : "u-boot"
[ 0.993682] 0x000000100000-0x000000110000 : "dtb"
[ 1.000935] 0x000000110000-0x000000510000 : "kernel"
[ 1.008420] 0x000000510000-0x000001000000 : "rootfs"
[ 1.016399] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.023053] ehci-platform: EHCI generic platform driver
[ 1.028627] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.034846] ohci-platform: OHCI generic platform driver
[ 1.040543] usbcore: registered new interface driver usb-storage
[ 1.047767] i2c /dev entries driver
[ 1.107494] sunxi-mmc 1c0f000.mmc: base:0x3474c5ef irq:19
[ 1.114960] usbcore: registered new interface driver usbhid
[ 1.120655] usbhid: USB HID core driver
[ 1.142202] sun4i-codec 1c23c00.codec: ASoC: Failed to create component debugfs directory
[ 1.154898] sun4i-codec 1c23c00.codec: Codec <-> 1c23c00.codec mapping ok
[ 1.170129] NET: Registered protocol family 17
[ 1.174794] Key type dns_resolver registered
[ 1.181519] Loading compiled-in X.509 certificates
[ 1.197136] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc073a258)
[ 1.206032] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc073953c)
[ 1.213809] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.220461] [drm] No driver support for vblank timestamp query.
[ 1.274475] Console: switching to colour frame buffer device 60x34
[ 1.297793] sun4i-drm display-engine: fb0: frame buffer device
[ 1.304921] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[ 1.314088] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.326074] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.332038] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.342196] hub 1-0:1.0: USB hub found
[ 1.346159] hub 1-0:1.0: 1 port detected
[ 1.353146] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.370531] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.377285] vcc3v3: disabling
[ 1.380374] ALSA device list:
[ 1.383350] #0: Loopback 1
[ 1.386268] #1: F1C100s Audio Codec
[ 1.390908] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.399624] cfg80211: failed to load regulatory.db
[ 1.502386] random: crng init done
[ 2.465482] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[ 2.473507] devtmpfs: mounted
[ 2.481232] Freeing unused kernel memory: 1024K
Starting logging: OK
Initializing random number generator... done.
Starting network: OK
Welcome to Buildroot
Lichee login: root
Password:
#
#
# ls
# cd /
# ls
bin lib media proc sbin usr
dev lib32 mnt root sys var
etc linuxrc opt run tmp
#
#
# modprobe g_ffs idVendor=0x18d1 idProduct=0x4e42 iSerialNumber="buildroot"
[ 47.826561] file system registered
#
# mkdir -p /dev/usb-ffs/adb
#
# mount -t functionfs adb /dev/usb-ffs/adb -o uid=2000,gid=2000
#
# adbd &
#
# install_listener('tcp:5037','*smartsocket*')
[ 73.867570] read descriptors
[ 73.870542] read strings
[ 73.873285] using random self ethernet address
[ 73.877892] using random host ethernet address
[ 73.882405] using random self ethernet address
[ 73.886849] using random host ethernet address
[ 73.892646] usb0: HOST MAC 5e:9e:62:f6:5a:b5
[ 73.897026] usb0: MAC e2:63:4f:78:06:04
[ 73.901264] g_ffs gadget: g_ffs ready
[ 87.222118] g_ffs gadget: high-speed config #1: FunctionFS + RNDIS
#
离线
取消下面两项试试:
Device Drivers > USB support > USB Gadget Support
[ ] RNDIS
[ ] Include configuration with RNDIS (Ethernet)
编译再烧写看看:
# modprobe g_ffs idVendor=0x18d1 idProduct=0x4e42 iSerialNumber="buildroot"
[ 203.119624] g_ffs: Unknown symbol rndis_borrow_net (err 0)
[ 203.127150] g_ffs: Unknown symbol rndis_borrow_net (err 0)
modprobe: can't load module g_ffs (kernel/drivers/usb/gadget/legacy/g_ffs.ko): unknown symbol in module, or unknown parameter
很明显失败了!!!
离线
1. 换台电脑试一试
2. 挂载到 VMWARE + Ubuntu 试一试, 看是否正常.
这个电脑设别F1C600的adb是没有问题.
明天在虚拟机里试试.
离线
趁大帅不在,帮顶
离线
一大早,在虚拟机上试试,结果很扫兴。。。
接下来奈何?
离线
把软件包装上,然后先把手机adb测试成功再接开发板。
首先想到的是不是win7下面原来使用的adb比较老,于是在下载一个:
ADB和Fastboot for Windows
https://dl.google.com/android/repository/platform-tools-latest-windows.zip
用这个还adb是不行,信息在下面图片里面有。
然后去虚拟机里安装adb工具试试,一顿操作之后,可以使用了!
疑问: 有没有办法可以在win7下面使用adb?
即可起俺要焚香更衣,斋戒沐浴,叩等大佬赐教
离线
还遇见一个问题,usb插拔一个,电脑就失败不出来了, 只能licheepi 重启 再搞一次adb脚本 才能识别, 这是为啥?
离线
试一试这个固件: https://whycan.cn/t_3400.html#p48760
我用别人的固件是没有问题,由于要写一个驱动,没有别人的系统源码,自己从0移植了一套。
离线
# [ 51.276001] g_ffs gadget: high-speed config #1: FunctionFS + RNDIS
[ 299.120687] g_ffs gadget: high-speed config #2: FunctionFS + ECM
发现在win7和Ubuntu下面,licheepi串口的消息不一样:
win7 : #1: FunctionFS + RNDIS
Ubuntu: #2: FunctionFS + ECM
win7 adb版本:
E:\桌面\platform-tools_r30.0.3-windows\platform-tools>adb version
Android Debug Bridge version 1.0.41
Version 30.0.3-6597393
Installed as E:\桌面\platform-tools_r30.0.3-windows\platform-tools\adb.exe
Ubuntu adb版本:
# osboxes@osboxes:~$ adb version
Android Debug Bridge version 1.0.32
osboxes@osboxes:~$
离线