On Tue, 2010-07-20 at 17:18 +0800, kevin.huang wrote:
Thanks Peter,
Gave this a shot, as per your instructions. However I’m getting stopped at this:
udevd[1164]: init_udevd_socket: error getting socket: Address family not supported by protocol
error initializing udevd socket
udevd[1164]: main: error initializing udevd socket
I think this may have to do with the board I’m working with than anything else. Gonna try seeing if I can figure out how to fix this.
"Google is your friend". :)
A search for "udev address family not supported by protocol" will show you that you need to turn on "Unix Domain Sockets" in your kernel configuration which can be found under "Networking Support", then "Networking Options"...
Really appreciate the guidance you gave!
Kevin
From:Peter Barada [mailto:address@hidden
Sent: Thursday, July 15, 2010 10:43 PM
To: kevin.huang
Cc: address@hidden
Subject: Re: [Ltib] USB automount and auto-run on LTIB?
On Wed, 2010-07-14 at 18:00 +0800, kevin.huang wrote:
Hi,
I’m working on a NXP LPC3131x board running LTIB. I’m trying to get some sort of auto-mount/run going when I plug in a USB pendrive into the board. So far I believe the way to do this is by utilizing Udev and configuring it so that it automatically runs shell commands when the USB drive is mounted or detected.
Yup, this should happen by default if you have udev in your LTIB build...
I noticed that the udev package was not available for selection in the normal configuration menu (./ltib –config) but I was able to prep the package by using ./ltib –p udev and adjusting one of the configuration files to pass the changes through. However I think the boot process is still not utilizing udev despite my “installation”. I’m still learning about USB and the boot process with Linux, so I think currently my LTIB Linux kernel is simply loading usbfs or some other USB driver that has nothing to do with my udev configuration.
It should be, in the package list, under "device nodes"; and also enable "Include automount rules" which pulls in /etc/udev/rules.d/65-automount.rules
You'll also need to make sure your kernel has CONFIG__UEVENT_HELPER_PATH="", since if its set to the default "/sbin/hotplug", when you fire up udevd (and have USB mass storage device(s) inserted on startup), then there's a timing problem between udevd and hotplug that can cause udevd's startup script to fail - it was a total pain to track that down when I tripped over it.
Once you have udev enabled and deployed, then it *should* startup automatically when you boot the kernel (if you /etc/inittab invokes /etc/rcS and your sysconfig .spec file is correct). If not, you can always fire up udev after startup by "/etc/rc.d/init.d/udev start".
Am I going about this the right way? Any pointers/directions on where I should focus my efforts would be greatly appreciated. Below is the output when I get the board to boot. I don’t see any mention of udev anywhere.
Thank you,
Kevin Huang
# boot
ARCH_ID: 9998 (0x270e)
ATAG_HEADER
ATAG_MEM: start 0x30000000 size 0x04000000
ATAG_CMDLINE: (64 bytes) 'console=ttyS0,115200n8 root=/dev/ram0 rw ramdisk_size=0x2000000'
ATAG_INITRD2: start 0x32000000 size 0x01000000
ATAG_END
Booting kernel at 0x30008000...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.33 (address@hidden) (gcc version 4.1.2) #1 Wed Jun 23 02:19:56 PDT 2010
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: NXP EA313X
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttyS0,115200n8 root=/dev/ram0 rw ramdisk_size=0x2000000
PID hash table entries: 256 (order: -2, 1024 bytes)
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: 45200KB available (2840K code, 207K data, 116K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:37
irq=30 Event=0x67 bank:3 bit:7 type:3
irq=31 Event=0x7a bank:3 bit:26 type:2
irq=32 Event=0x77 bank:3 bit:23 type:2
irq=33 Event=0x7b bank:3 bit:27 type:0
irq=34 Event=0x18 bank:0 bit:24 type:1
irq=35 Event=0x50 bank:2 bit:16 type:0
irq=36 Event=0x55 bank:2 bit:21 type:0
Console: colour dummy device 80x30
console [ttyS0] enabled
Calibrating delay loop... 89.70 BogoMIPS (lpj=448512)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
enabling USB host vbus_power
Registering USB host 0x00201020 0x0ec00004 (3)
LPC31: Power Management init.
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Advanced Linux Sound Architecture Driver Version 1.0.21.
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
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (no cpio magic); looks like an initrd
Freeing initrd memory: 16384K
pca9532 0-0060: setting platform data
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) ? 2001-2006 Red Hat, Inc.
ROMFS MTD (C) 2007 Red Hat, Inc.
msgmni has been set to 120
io scheduler noop registered (default)
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x15001000 (irq = 10) is a NXP16750
serial8250.0: ttyS0 at MMIO 0x15001000 (irq = 10) is a NXP16750
brd: module loaded
loop: module loaded
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xaa (Micron NAND 256MiB 1,8V 8-bit)
Creating 1 MTD partitions on "lpc313x_nand":
0x0000014c0000-0x000010000000 : "lpc313x-rootfs"
mtd_dataflash spi0.0: at45db321d (4096 KBytes) pagesize 512 bytes (OTP)
spi_lpc313x spi_lpc313x.0: chipselect 0 already in use
spi_lpc313x spi_lpc313x.0: LPC313x SPI driver
dm9000 Ethernet Driver, V1.31
dm9000 dm9000.0: read wrong id 0x2b2a2928
dm9000 dm9000.0: read wrong id 0x2b2a2900
dm9000 dm9000.0: read wrong id 0x2b2a2928
dm9000 dm9000.0: read wrong id 0x2b2a2928
dm9000 dm9000.0: read wrong id 0x2b2a2928
dm9000 dm9000.0: read wrong id 0x2b2a2928
dm9000 dm9000.0: read wrong id 0x2b2a2928
dm9000 dm9000.0: read wrong id 0x2b2a2928
dm9000 dm9000.0: wrong id: 0x2b2a2928
dm9000 dm9000.0: not found (-19).
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
lpc-ehci lpc-ehci.0: LPC EHCI Host Controller
lpc-ehci lpc-ehci.0: new USB bus registered, assigned bus number 1
lpc-ehci lpc-ehci.0: irq 27, io mem 0x19000000
lpc-ehci lpc-ehci.0: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: LPC EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.33 ehci_hcd
usb usb1: SerialNumber: lpc-ehci.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
lpc313x-wdt lpc313x-wdt: Watchdog device driver initialized.
cpuidle: using governor ladder
lpc313x_mmc lpc313x_mmc.0: LPC313x MMC controller at irq 26
No device for DAI lpc313x-i2s
LPC313x ASOC main clock : 48000 (36864000)
asoc: UDA1380 <-> lpc313x-i2s mapping ok
ALSA device list:
#0: LPC313X_I2S_UDA1380 (UDA1380)
TCP cubic registered
RAMDISK: gzip image found at block 0
mmc0: new SD card at address b368
mmcblk0: mmc0:b368 SDC 952 MiB
mmcblk0: p1 p2
usb 1-1: new high speed USB device using lpc-ehci and address 2
usb 1-1: New USB device found, idVendor=0204, idProduct=6025
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
scsi0 : usb-storage 1-1:1.0
scsi 0:0:0:0: Direct-Access Flash Disk 2.00 PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 512512 512-byte logical blocks: (262 MB/250 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda:
sda1
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 116K
init started: BusyBox v1.11.2 ()
starting pid 369, tty '': '/etc/rc.d/rcS'
Mounting /proc and /sys
Setting the hostname to nxp
Mounting filesystems
mount: mounting usbfs on /proc/bus/usb failed: No such file or directory
Starting syslogd and klogd
Starting inetd:
/etc/rc.d/rc.local: line 50: sed: not found
starting pid 425, tty '': '-/bin/sh'
_______________________________________________
LTIB home page: http://ltib.org
Ltib mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/ltib
|