hi all,

I'm using Linux 2.6.24 on SamSung S3C2440 chip.

I got a problem of USB, hotplug seems not working.

( after plug in my usb pen drive, there's no sd* or hd* in /dev )

I guess the problem might be : usb host is not setup correctly ... ?

appreciate for any sugesstion.

=======================================
busybox # cat /etc/init.d/rcS

#! /bin/sh
echo "---- mount all ----"
/bin/mount -a

echo "---- Starting mdev ----"
/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

=======================================
busybox # cat /etc/fstab

proc /proc proc defaults 0 0
none /tmp ramfs defaults 0 0
mdev /dev ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0
none /proc/bus/usb usbfs defaults 0 0

=======================================
busybox # dmesg
Linux version 2.6.24.3 (fyodor@121-ee504-desktop) (gcc version 3.4.1)
#195 Tue 8
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
Machine: SMDK2440
Converting old-style param struct to taglist
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 16384
DMA zone: 128 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 16256 pages, LIFO batch:3
Normal zone: 0 pages used for memmap
Movable zone: 0 pages used for memmap
CPU S3C2440A (id 0x32440001)
S3C244X: core 399.651 MHz, memory 133.217 MHz, peripheral 66.608 MHz
S3C24XX Clocks, (c) 2004 Simtec Electronics
clock : register usb bus clock ok
CLOCK: Slow mode (2.116 MHz), fast, MPLL on, UPLL on
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists in Zone order, mobility grouping on. Total pages:
16256
Kernel command line: noinitrd root=/dev/mtdblock3 rw rootfstype=jffs2
init=/linM
irq: clearing pending ext status 00000100
irq: clearing subpending status 00000010
PID hash table entries: 256 (order: 8, 1024 bytes)
timer tcon=00500000, tcnt d8d2, tcfg 00000200,00000000, usec 0000170f
Console: colour dummy device 80x30
selected clock c036d050 (pclk) quot 35, calc 115640
console [ttySAC1] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 61184KB available (3248K code, 331K data, 136K init)
Calibrating delay loop... 199.47 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 64 bytes
NET: Registered protocol family 16
S3C2410 Power Management, (c) 2004 Simtec Electronics
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C2440: Clock Support, DVS off
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
DMA channel 0 at c4800000, irq 33
DMA channel 1 at c4800040, irq 34
DMA channel 2 at c4800080, irq 35
DMA channel 3 at c48000c0, irq 36
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) 2001-2006 Red Hat, Inc.
fuse init (API version 7.9)
yaffs Apr 8 2008 18:10:01 Installing.
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
s3c2410fb: devinit
s3c2410fb: got and enabled clock
s3c2410fb: map_video_memory(fbi=c3c56260)
s3c2410fb: map_video_memory: clear ffc00000:00026000
s3c2410fb: map_video_memory: dma=33d40000 cpu=ffc00000 size=00026000
s3c2410fb: got video memory
s3c2410fb: LPCSEL = 0x00000c0c
s3c2410fb: replacing TPAL 00000000
s3c2410fb: check_var(var=c3c56008, info=c3c56000)
s3c2410fb: pixclk 166667, divisor is 22
s3c2410fb: s3c2410fb_activate_var: var->xres = 240
s3c2410fb: s3c2410fb_activate_var: var->yres = 320
s3c2410fb: s3c2410fb_activate_var: var->bpp = 16
s3c2410fb: setting vert: up=6, low=8, sync=2
s3c2410fb: setting horz: lft=8, rt=4, sync=4
__DEBUG: clkdiv: 10
s3c2410fb: new register set:
s3c2410fb: lcdcon[1] = 0x00000a78
s3c2410fb: lcdcon[2] = 0x054fc1c1
s3c2410fb: lcdcon[3] = 0x0018ef07
s3c2410fb: lcdcon[4] = 0x00000d03
s3c2410fb: lcdcon[5] = 0x00000f49
s3c2410fb: LCDSADDR1 = 0x19ea0000
s3c2410fb: LCDSADDR2 = 0x19eb2c00
s3c2410fb: LCDSADDR3 = 0x000000f0
Console: switching to colour frame buffer device 30x40
fb0: s3c2410fb frame buffer device
uvesafb: failed to execute /sbin/v86d
uvesafb: make sure that the v86d helper is installed and executable
uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)
uvesafb: vbe_init() failed with -22
uvesafb: probe of uvesafb.0 failed with error -22
lp: driver loaded but no devices found
ppdev: user-space parallel port driver
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing
enabled
s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a
S3C2440
s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a
S3C2440
s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a
S3C2440
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: module loaded
dm9000 Ethernet Driver
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with
idebus=xx
Loading iSCSI transport class v2.0-724.
iscsi: registered transport (tcp)
scsi0 : scsi_debug, version 1.81 [20070104], dev_size_mb=8, opts=0x0
scsi 0:0:0:0: Direct-Access Linux scsi_debug 0004 PQ: 0
ANSI: 5
NFTL driver: nftlcore.c $Revision: 1.98 $, nftlmount.c $Revision: 1.41
$
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
scsi 0:0:0:0: Attached scsi generic sg0 type 0
s3c2440-nand s3c2440-nand: Tacls=1, 7ns Twrph0=4 30ns, Twrph1=1 7ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB
3,3V 8-b)
NAND_ECC_NONE selected by board driver. This is not recommended !!
Scanning device for bad blocks
Bad eraseblock 379 at 0x02f60000
Bad eraseblock 891 at 0x06f60000
Bad eraseblock 931 at 0x07460000
Bad eraseblock 1231 at 0x099e0000
Bad eraseblock 1398 at 0x0aec0000
Bad eraseblock 1399 at 0x0aee0000
Bad eraseblock 1409 at 0x0b020000
Creating 5 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x00000000-0x00020000 : "u-boot"
0x00020000-0x00040000 : "param"
0x00040000-0x00440000 : "kernel"
0x00440000-0x01440000 : "root"
0x01440000-0x0c800000 : "flash"
usbcore: registered new interface driver libusual
mice: PS/2 mouse device common for all mice
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 378 KHz
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq
enabled
TCP cubic registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Empty flash at 0x00b01c88 ends at 0x00b02000
jffs2_scan_inode_node(): CRC failed on node at 0x00b027e0: Read
0xffffffff, cal5
Empty flash at 0x00b0282c ends at 0x00b03000
JFFS2 notice: (807) check_node_data: wrong data CRC in data node at
0x00b031e0:.
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 136K
selected clock c036d050 (pclk) quot 35, calc 115640
selected clock c036d050 (pclk) quot 35, calc 115640
selected clock c036d050 (pclk) quot 35, calc 115640
selected clock c036d050 (pclk) quot 35, calc 115640

=======================================
busybox # cat /proc/bus/usb/devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.24.3 ohci_hcd
S: Product=S3C24XX OHCI
S: SerialNumber=s3c24xx
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

=======================================
busybox # modprobe ohci-hcd

usb : usb_hcd_s3c2410_probe

usb : s3c2410_start_hc
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number
1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usb usb1: Product: S3C24XX OHCI
usb usb1: Manufacturer: Linux 2.6.24.3 ohci_hcd
usb usb1: SerialNumber: s3c24xx

=======================================
busybox # modprobe usb-storage

Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.

=======================================