USB host 기능을 사용하기 위해서는 menuconfig 설정을 어떻게 해야 하나요? 에러가 납니다
우선 사용하는 보드는 제가 만든 AT91RM9200 cpu를 쓰는 arm9보드입니다. 현재
포팅한 리눅스커널 버전은 2.6.21이고요, at91rm9200dk용 패치를 한 상태에서 포팅했습니다.
현재 menuconfig의 'Device Driver-> USB support->' 를 엔터 쳐서 들어가면
<*>Support for Host-side USB .... [*] USB device filesystem ,,,, <*>OHCI HCD support ... <*>USB Mass Storage support [*] USB MAss Storage verbose debug ... [*]USB Monitor
위 내용과 같이 체크 되어 있습니다. 나머지는 전부 [] 로 비어있습니다.
제가 궁극적으로 이 보드에 포팅하고 싶은 것은 USB wlan 카드인데요... 우선은
위와 같이 menuconfig하고나서 보드의 usb host port에 아무것도 꽂지 않은상태에서 커널부팅을 해보면
아래와 같이 일부 에러메시지가 납니다.
----------------------------------------------------------------
## Booting image at 21400000 ...
Image Name: Linux-2.6.21
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4814228 Bytes = 4.6 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
OK
Starting kernel ...
Uncompressing Linux...........................................................
................................................................................
.................................. done, booting the kernel.
Linux version 2.6.21 (root@localhost.localdomain) (gcc version 4.1.1) #18 Wed De
c 19 19:30:39 KST 2007
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
Machine: Atmel AT91RM9200-DK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 59 MHz, master 59 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists. Total pages: 8128
Kernel command line:
AT91: 128 gpio irqs in 4 banks
PID hash table entries: 128 (order: 7, 512 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 26872KB available (1352K code, 152K data, 4060K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer c
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NetWinder Floating Point Emulator V0.97 (double precision)
io scheduler noop registered
io scheduler anticipatory registered (default)
Epson S1D13XXX FB Driver
s1d13xxxfb: chip not found: 20
at91_spi: Baud rate set to 5990400
AT91 SPI driver loaded
AT91 Watchdog Timer enabled (5 seconds, nowayout)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffc4000 (irq = 7) is a ATMEL_SERIAL
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
physmap platform flash device: 00200000 at 10000000
physmap-flash physmap-flash.0: map_probe failed
at91_dataflash: AT45DB642 detected [spi0] (8650752 bytes)
Creating 3 MTD partitions on "AT45DB642.spi0":
0x00000000-0x00042000 : "bootloader"
0x00042000-0x0018c000 : "kernel"
0x0018c000-0x00840000 : "filesystem"
usbmon: debugfs is not available
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
at91_ohci at91_ohci: irq 23, io mem 0x00300000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
udc: at91_udc version 3 May 2006
mice: PS/2 mouse device common for all mice
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc0
AT91 Real Time Clock driver.
i2c /dev entries driver
at91_i2c at91_i2c: AT91 i2c bus driver.
at91_rtc at91_rtc: setting the system clock to 1998-01-01 00:02:40 (883612960)
Freeing init memory: 4060K
remounting / read-write... done.
mounting /proc... done.
mounting /sys... done.
Creating device nodes manually, running /sbin/makenodes-2.6
usb 1-2: new low speed USB device using at91_ohci and address 2
usb 1-2: device descriptor read/64, error -62
usb 1-2: device descriptor read/64, error -62
usb 1-2: new low speed USB device using at91_ohci and address 3
usb 1-2: device descriptor read/64, error -62
usb 1-2: device descriptor read/64, error -62
Done.
mounting /dev/pts... usb 1-2: new low speed USB device using at91_ohci and addre
ss 4
done.
starting syslogd... syslogd: Couldn't get file descriptor for socket /dev/log: F
unction not implemented
done.
starting klogd... done.
starting telnetd... telnetd: socket: Function not implemented
done.
usb 1-2: device not accepting address 4, error -62
usb 1-2: new low speed USB device using at91_ohci and address 5
usb 1-2: device not accepting address 5, error -62
(none) login:
-------------------------------------------------------------------------------
usb와 관련된 에러인거 같은데요. 이거... 왜 나는 걸까요? menuconfig에서 usb와 관련된 뭔가를
하지 않아서 일꺼라고 생각합니다만... 혹은 하드웨어 문제일까요? 몇번이나 확인해봤지만
usb host 커넉테의 핀 4개는 전부 제대로 라우팅 되어 있습니다.
도움 요청드립니다.
config 상에서 잘못된
config 상에서 잘못된 것이라고는 debugfs 밖에 없는 것 같습니다.
USB monitor 설비를 사용하시려면 debugfs 가 필요합니다.
특이하게 network 을 몽창 빼놓으셔서 여러가지 네트웍 관련 데몬들이 에러를 내고 실행이 되지 않는 상태고.
나머지 에러는 커널 config 와 무관합니다.
OTL
댓글 달기