dzlhappy123 发表于 2014-10-30 09:31:31

OK335xS内核裁剪后不识别USB

根据OK335xS-Linux用户手册V1.0.pdf,对linux-3.2.0进行了内核编译,生成uImage。将该文件拷贝到SD卡,从SD卡启动开发板后,插上U盘,不识别。
试了好多方法也没有成功。
查看了开发板启动信息,与正常的启动信息相比,缺少以下信息:
……
usb 1-1: New USB device found, idVendor=0424, idProduct=2514
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
……
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
……
这对应着应该在内核中哪些选项啊?

ps:linux-3.2.0的源码是用户光盘(A)里面的。在内核中支持USB设备的选项都选上了。。。

飞凌-unix 发表于 2014-10-30 10:24:47

1、试试我们提供的镜像USB接口是否有效
2、对于裁剪内核,您都裁剪了哪些?

dzlhappy123 发表于 2014-10-31 15:36:43

飞凌-unix 发表于 2014-10-30 10:24 static/image/common/back.gif
1、试试我们提供的镜像USB接口是否有效
2、对于裁剪内核,您都裁剪了哪些?

拷贝 src 目录下的 linux -3.2.0 -forlinx.tar.bz2 文件到 /home/forlinx/work 下面,然后执行以下命令。
1. 解压
tar xvf linux -3.2.0 -forlinx.tar.bz2
cd linux -3.2.0
2. 编译
cp arch/arm/configs/ok335xs_evm_linux_de fconfig .config
make CROSS_COMPILE=arm -arago -linux -gnueabi - ARCH=arm uImage
编译完成后会自动在 arch/arm/boot/ 目录形成 uImage 文件 ,将该文件拷入 SD 卡 boot 分区使用。

我重新按照上面的操作进行,结果插上U盘后,fdisk -l 没有找到我的U盘。

对于内核裁剪,我只是添加了内核中关于iptables的state、string匹配的选项,其他没有修改。

dzlhappy123 发表于 2014-10-31 15:38:37

飞凌-unix 发表于 2014-10-30 10:24 static/image/common/back.gif
1、试试我们提供的镜像USB接口是否有效
2、对于裁剪内核,您都裁剪了哪些?

U-Boot SPL 2011.09-00000-g25b0e00-dirty (Dec 18 2013 - 18:19:50)
Texas Instruments Revision detection unimplemented
Booting from MMC...
OMAP SD/MMC: 0
reading u-boot.img
reading u-boot.img


U-Boot 2011.09-00000-g25b0e00-dirty (Dec 18 2013 - 18:19:50)

I2C:   ready
DRAM:512 MiB
WARNING: Caches not enabled
Did not find a recognized configuration, assuming General purpose EVM in Profile 0 with Daughter board
NAND:HW ECC Hamming Code selected
256 MiB
MMC:   OMAP SD/MMC: 0
Net:   cpsw
Hit any key to stop autoboot:0
mmc0 is current device
SD/MMC found on device 0
reading uEnv.txt

** Unable to read "uEnv.txt" from mmc 0:1 **
reading uImage

3450536 bytes read
Booting from mmc ...
## Booting kernel from Legacy Image at 80007fc0 ...
   Image Name:   Linux-3.2.0
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3450472 Bytes = 3.3 MiB
   Load Address: 80008000
   Entry Point:80008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Linux version 3.2.0 (root@student-virtual-machine) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 Fri Oct 31 15:25:01 CST 2014
[    0.000000] CPU: ARMv7 Processor revision 2 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: am335xevm
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] AM335X ES1.0 (sgx neon )
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.Total pages: 130048
[    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext3 rootwait ip=none screentype=C screensize=800x480-7
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 512MB = 512MB total
[    0.000000] Memory: 512564k/512564k available, 11724k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]   vector: 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]   fixmap: 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]   vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
[    0.000000]   lowmem: 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]   modules : 0xbf000000 - 0xc0000000   (16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc062c000   (6288 kB)
[    0.000000]       .init : 0xc062c000 - 0xc0668000   ( 240 kB)
[    0.000000]       .data : 0xc0668000 - 0xc06d3fb8   ( 432 kB)
[    0.000000]      .bss : 0xc06d3fdc - 0xc0704a68   ( 195 kB)
[    0.000000] NR_IRQS:396
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] Total of 128 interrupts on 1 active controller
[    0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
[    0.000000] omap_dm_timer_switch_src: Switching to HW default clocksource(sys_clkin_ck) for timer1, this may impact timekeeping in low power state
[    0.000000] OMAP clocksource: GPTIMER1 at 24000000 Hz
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[    0.000000] Console: colour dummy device 80x30
[    0.000213] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
[    0.057153] pid_max: default: 32768 minimum: 301
[    0.057290] Security Framework initialized
[    0.057396] Mount-cache hash table entries: 512
[    0.057790] CPU: Testing write buffer coherency: ok
[    0.058565] devtmpfs: initialized
[    0.078608] omap_hwmod: pruss: failed to hardreset
[    0.079720] print_constraints: dummy:
[    0.080077] NET: Registered protocol family 16
[    0.082194] OMAP GPIO hardware version 0.1
[    0.084767] omap_mux_init: Add partition: #1: core, flags: 0
[    0.086558]omap_i2c.1: alias fck already exists
[    0.087508] The board is a ok335xs.
[    0.087628]omap_hsmmc.0: alias fck already exists
[    0.088433]da8xx_lcdc.0: alias fck already exists
[    0.088739]omap_i2c.2: alias fck already exists
[    0.089946]davinci-mcasp.1: alias fck already exists
[    0.090669]d_can.0: alias fck already exists
[    0.091878]omap2_mcspi.1: alias fck already exists
[    0.092097]omap2_mcspi.2: alias fck already exists
[    0.092370]edma.0: alias fck already exists
[    0.092393]edma.0: alias fck already exists
[    0.092412]edma.0: alias fck already exists
[    0.118613] bio: create slab <bio-0> at 0
[    0.120810] SCSI subsystem initialized
[    0.122774] usbcore: registered new inte**ce driver usbfs
[    0.123082] usbcore: registered new inte**ce driver hub
[    0.123283] usbcore: registered new device driver usb
[    0.123594] registerd cppi-dma Intr @ IRQ 17
[    0.123609] Cppi41 Init Done Qmgr-base(e087a000) dma-base(e0878000)
[    0.123620] Cppi41 Init Done
[    0.123646] musb-ti81xx musb-ti81xx: musb0, board_mode=0x13, plat_mode=0x3
[    0.123939] musb-ti81xx musb-ti81xx: musb1, board_mode=0x13, plat_mode=0x1
[    0.125071] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
[    0.126778] tps65217 1-0024: TPS65217 ID 0xe version 1.2
[    0.128802] print_constraints: DCDC1: 900 <--> 1800 mV at 1500 mV
[    0.130849] print_constraints: DCDC2: 900 <--> 3300 mV at 1100 mV
[    0.132834] print_constraints: DCDC3: 900 <--> 1500 mV at 1100 mV
[    0.134808] print_constraints: LDO1: 1000 <--> 3300 mV at 1800 mV
[    0.136782] print_constraints: LDO2: 900 <--> 3300 mV at 3300 mV
[    0.138803] print_constraints: LDO3: 1800 <--> 3300 mV at 1800 mV
[    0.140790] print_constraints: LDO4: 1800 <--> 3300 mV at 3300 mV
[    0.157222] omap_i2c omap_i2c.2: bus 2 rev2.4.0 at 100 kHz
[    0.159182] Advanced Linux Sound Architecture Driver Version 1.0.24.
[    0.160567] cfg80211: Calling CRDA to update world regulatory domain
[    0.161771] Switching to clocksource gp timer
[    0.179407] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[    0.179610] musb-hdrc musb-hdrc.0: dma type: dma-cppi41
[    0.179939] MUSB0 controller's USBSS revision = 4ea20800
[    0.180905] musb-hdrc musb-hdrc.0: USB OTG mode controller at e083c000 using DMA, IRQ 18
[    0.181068] musb-hdrc musb-hdrc.1: dma type: dma-cppi41
[    0.181373] MUSB1 controller's USBSS revision = 4ea20800
[    0.181894] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    0.181990] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
[    0.182136] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.182151] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.182165] usb usb1: Product: MUSB HDRC host driver
[    0.182176] usb usb1: Manufacturer: Linux 3.2.0 musb-hcd
[    0.182187] usb usb1: SerialNumber: musb-hdrc.1
[    0.183115] hub 1-0:1.0: USB hub found
[    0.183148] hub 1-0:1.0: 1 port detected
[    0.183785] musb-hdrc musb-hdrc.1: USB Host mode controller at e083e800 using DMA, IRQ 19
[    0.184227] NET: Registered protocol family 2
[    0.184422] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.184734] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[    0.185033] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
[    0.185207] TCP: Hash tables configured (established 16384 bind 16384)
[    0.185220] TCP reno registered
[    0.185232] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.185255] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.185429] NET: Registered protocol family 1
[    0.185695] RPC: Registered named UNIX socket transport module.
[    0.185709] RPC: Registered udp transport module.
[    0.185718] RPC: Registered tcp transport module.
[    0.185727] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.185943] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.186173] omap-gpmc omap-gpmc: GPMC revision 6.0
[    0.186193] Registering NAND on CS0
[    0.205726] VFS: Disk quotas dquot_6.5.2
[    0.205795] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.206351] msgmni has been set to 1001
[    0.209503] alg: No test for stdrng (krng)
[    0.209579] io scheduler noop registered
[    0.209589] io scheduler deadline registered
[    0.209687] io scheduler cfq registered (default)
[    0.211731] da8xx_lcdc da8xx_lcdc.0: GLCD: Found NHD-7.0-ATXI#-T-1 panel
[    0.227781] Console: switching to colour frame buffer device 100x30
[    0.237582] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[    0.927674] console enabled
[    0.932097] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[    0.939956] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[    0.947828] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[    0.955667] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[    0.963531] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[    0.981582] brd: module loaded
[    0.989951] loop: module loaded
[    0.993733] i2c-core: driver using legacy suspend method
[    1.000193] i2c-core: driver using legacy resume method
[    1.006925] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[    1.016954] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.024307] omap2-nand driver initializing
[    1.028927] ONFI flash detected
[    1.032356] ONFI param page 0 valid
[    1.036003] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08ABAEAWP)
[    1.044716] Creating 8 MTD partitions on "omap2-nand.0":
[    1.050277] 0x000000000000-0x000000020000 : "SPL"
[    1.056872] 0x000000020000-0x000000040000 : "SPL.backup1"
[    1.063992] 0x000000040000-0x000000060000 : "SPL.backup2"
[    1.070978] 0x000000060000-0x000000080000 : "SPL.backup3"
[    1.078026] 0x000000080000-0x000000260000 : "U-Boot"
[    1.085327] 0x000000260000-0x000000280000 : "U-Boot Env"
[    1.092265] 0x000000280000-0x000000780000 : "Kernel"
[    1.100873] 0x000000780000-0x000010000000 : "File System"
[    1.211018] OneNAND driver initializing
[    1.217107] CAN device driver inte**ce
[    1.221112] CAN bus driver for Bosch D_CAN controller 1.0
[    1.227647] d_can d_can.0: device registered (irq=52, irq_obj=53)
[    1.281835] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[    1.288295] davinci_mdio davinci_mdio.0: detected phy mask fffffffc
[    1.296604] davinci_mdio.0: probed
[    1.300164] davinci_mdio davinci_mdio.0: phy: device 0:00, driver unknown
[    1.307541] davinci_mdio davinci_mdio.0: phy: device 0:01, driver unknown
[    1.315075] PPP generic driver version 2.4.2
[    1.319985] PPP BSD Compression module registered
[    1.324934] PPP Deflate Compression module registered
[    1.330469] usbcore: registered new inte**ce driver rtl8192cu
[    1.336745] usbcore: registered new inte**ce driver zd1201
[    1.342764] usbcore: registered new inte**ce driver cdc_ether
[    1.348996] usbcore: registered new inte**ce driver cdc_eem
[    1.355070] usbcore: registered new inte**ce driver dm9601
[    1.360928] cdc_ncm: 04-Aug-2011
[    1.364462] usbcore: registered new inte**ce driver cdc_ncm
[    1.370370] Initializing USB Mass Storage driver...
[    1.375678] usbcore: registered new inte**ce driver usb-storage
[    1.381966] USB Mass Storage support registered.
[    1.387127] usbcore: registered new inte**ce driver usbserial
[    1.393381] USB Serial support registered for generic
[    1.398802] usbcore: registered new inte**ce driver usbserial_generic
[    1.405632] usbserial: USB Serial Driver core
[    1.410301] USB Serial support registered for GSM modem (1-port)
[    1.416846] usbcore: registered new inte**ce driver option
[    1.422681] option: v0.7.2:USB Driver for GSM modems
[    1.428039]gadget: Mass Storage Function, version: 2009/09/11
[    1.434240]gadget: Number of LUNs=1
[    1.438059]lun0: LUN: removable file: (no medium)
[    1.443181]gadget: Mass Storage Gadget, version: 2009/09/11
[    1.449183]gadget: userspace failed to provide iSerialNumber
[    1.455284]gadget: g_mass_storage ready
[    1.459479] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[    1.465089] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2
[    1.472934] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    1.480023] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.487575] usb usb2: Product: MUSB HDRC host driver
[    1.492763] usb usb2: Manufacturer: Linux 3.2.0 musb-hcd
[    1.498303] usb usb2: SerialNumber: musb-hdrc.0
[    1.503940] hub 2-0:1.0: USB hub found
[    1.507873] hub 2-0:1.0: 1 port detected
[    1.513243] mousedev: PS/2 mouse device common for all mice
[    1.520459] input: ft5x0x_ts as /devices/virtual/input/input0
[    1.683184] uc_reg_value=20
[    1.689041] rtc-ds1307 2-0068: rtc core: registered ds1307 as rtc0
[    1.695540] rtc-ds1307 2-0068: 56 bytes nvram
[    1.700230] i2c /dev entries driver
[    1.704580] Linux video capture inte**ce: v2.00
[    1.709761] usbcore: registered new inte**ce driver uvcvideo
[    1.715781] USB Video Class driver (1.1.1)
[    1.720987] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.728747] cpuidle: using governor ladder
[    1.733533] cpuidle: using governor menu
[    1.742850] usbcore: registered new inte**ce driver usbhid
[    1.748678] usbhid: USB HID core driver
[    1.753673] tiadc tiadc: attached adc driver
[    1.760939] _regulator_get: 2-001b supply IOVDD not found, using dummy regulator
[    1.768767] _regulator_get: 2-001b supply DVDD not found, using dummy regulator
[    1.776471] _regulator_get: 2-001b supply AVDD not found, using dummy regulator
[    1.784150] _regulator_get: 2-001b supply DRVDD not found, using dummy regulator
[    1.794849] asoc: tlv320aic3x-hifi <-> davinci-mcasp.1 mapping ok
[    1.839936] ALSA device list:
[    1.843088]   #0: AM335X EVM
[    1.846089] oprofile: hardware counters not available
[    1.851355] oprofile: using timer interrupt.
[    1.855846] nf_conntrack version 0.5.0 (8008 buckets, 32032 max)
[    1.862714] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.868380] TCP cubic registered
[    1.871750] NET: Registered protocol family 17
[    1.876429] can: controller area network core (rev 20090105 abi 8)
[    1.882981] NET: Registered protocol family 29
[    1.887640] can: raw protocol (rev 20090105)
[    1.892106] can: broadcast manager protocol (rev 20090105 t)
[    1.898051] Registering the dns_resolver key type
[    1.903058] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    1.911069] ThumbEE CPU extension supported.
[    1.915604] mux: Failed to setup hwmod io irq -22
[    1.921248] Power Management for AM33XX family
[    1.926163] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[    1.932856] Copied the M3 firmware to UMEM
[    1.937218] Cortex M3 Firmware Version = 0x181
[    1.947257] clock: disabling unused clocks to save power
[    1.955050] Detected MACID=78:c5:e5:d0:d:d5
[    1.960551] cpsw: Detected MACID = 78:c5:e5:d0:0d:d6
[    1.967865] input: gpio-keys as /devices/platform/gpio-keys/input/input1
[    1.976689] rtc-ds1307 2-0068: setting system clock to 2014-10-31 15:57:37 UTC (1414771057)
[    1.986012] Waiting for root device /dev/mmcblk0p2...
[    2.003016] mmc0: host does not support reading read-only switch. assuming write-enable.
[    2.015510] mmc0: new high speed SDHC card at address e624
[    2.021917] mmcblk0: mmc0:e624 SD08G 7.40 GiB
[    2.031744]mmcblk0: p1 p2
[    2.095667] EXT3-fs (mmcblk0p2): recovery required on readonly filesystem
[    2.102796] EXT3-fs (mmcblk0p2): write access will be enabled during recovery
[    2.536241] kjournald starting.Commit interval 5 seconds
[    2.542095] EXT3-fs (mmcblk0p2): recovery complete
[    2.551687] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
[    2.558947] VFS: Mounted root (ext3 filesystem) readonly on device 179:2.
[    2.570189] devtmpfs: mounted
[    2.573668] Freeing init memory: 240K
INIT: version 2.88 booting
Starting udev
[    3.055471] udev: starting version 164
Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
bootlogd.
[    5.815468] EXT3-fs (mmcblk0p2): using internal journal
ALSA: Restoring mixer settings...
Configuring network inte**ces... [    6.249102] net eth0: CPSW phy found : id is : 0x4dd074
[    6.328336] net eth1: CPSW phy found : id is : 0x4dd074
done.
INIT: Entering runlevel: 5
Starting system message bus: dbus.
Starting telnet daemon.
Starting syslogd/klogd: done
2014-10-31 15:57:41: (log.c.166) server started
Stopping Bootlog daemon: bootlogd.

_____   _____   _____    _       _   __   ___    __
|___| /_   |_    | |   | | |   | |    / /
| |__   | | | | | |_| || |   | | |   | |   / /
|__|| | | | |_/| |   | | | |   |   }{   
| |   | |_| | | |    | |___| | | |   |/ /   
|_|   _____/ |_|_ |_____| |_| |_|_| /_/_


ok335x login:

以上,是开发板启动信息。。。

dzlhappy123 发表于 2014-11-13 11:32:29

最后就这么不了了之呢?!

dzlhappy123 发表于 2014-11-13 14:47:43

还有一个问题,
在make CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm uImage后会出现选项,
从网上找到答案,make CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm menuconfig后再执行以上指令,就不会出现选项。

但是,使用make menuconfig和make CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm menuconfig出现的内核选项不相同,这又是为什么呢?

dzlhappy123 发表于 2014-11-18 15:14:49

本帖最后由 dzlhappy123 于 2014-11-18 15:21 编辑



在编译uImage时必须出现上图所示的选项,然后选择n,再编译之后,生成的uImage就可以支持USB。

这一步感觉是选择板子型号,但是,为什么有时会不出现这一步直接编译成功了呢?(当然,直接编译的不支持USB设备)

这对操作系统会有要求吗?
页: [1]
查看完整版本: OK335xS内核裁剪后不识别USB