Имеется плата CS-EP9301 (производство Olimex, чип CirrusLogic) с предустановленным Linux. Возникли проблемы с монтированием устройств по USB и SD/MMC.
Сначала по USB:
Подсоединяю флешку
Код
# usb 1-3: new full speed USB device using address 8
scsi4 : SCSI emulation for USB Mass Storage devices
Vendor: JetFlash Model: TS512MJF2B Rev: 2.00
Type: Direct-Access ANSI SCSI revision: 02
sda: Unit Not Ready, sense:
Current : sense = 70 6
ASC=28 ASCQ= 0
Raw sense data:0x70 0x00 0x06 0x00 0x00 0x00 0x00 0x0a 0x00 0x00 0x00 0x00 0x28 0x00 0x00 0x00 0x00
0x00
SCSI device sda: 1024000 512-byte hdwr sectors (524 MB)
sda: assuming Write Enabled
sda: assuming drive cache: write through
sda: unknown partition table
Attached scsi removable disk sda at scsi4, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi4, channel 0, id 0, lun 0, type 0
scsi4 : SCSI emulation for USB Mass Storage devices
Vendor: JetFlash Model: TS512MJF2B Rev: 2.00
Type: Direct-Access ANSI SCSI revision: 02
sda: Unit Not Ready, sense:
Current : sense = 70 6
ASC=28 ASCQ= 0
Raw sense data:0x70 0x00 0x06 0x00 0x00 0x00 0x00 0x0a 0x00 0x00 0x00 0x00 0x28 0x00 0x00 0x00 0x00
0x00
SCSI device sda: 1024000 512-byte hdwr sectors (524 MB)
sda: assuming Write Enabled
sda: assuming drive cache: write through
sda: unknown partition table
Attached scsi removable disk sda at scsi4, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi4, channel 0, id 0, lun 0, type 0
Есть сообщение о неизвестной таблице разделов - sda: unknown partition table. Просматриваю таблице разделов:
Код
# fdisk -l /dev/sda
Disk /dev/sda: 524 MB, 524288000 bytes
189 heads, 61 sectors/track, 88 cylinders
Units = cylinders of 11529 * 512 = 5902848 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 89 511968+ 6 FAT16
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(0, 1, 1) logical=(0, 1, 3)
Partition 1 has different physical/logical endings:
phys=(63, 188, 61) logical=(88, 154, 54)
Disk /dev/sda: 524 MB, 524288000 bytes
189 heads, 61 sectors/track, 88 cylinders
Units = cylinders of 11529 * 512 = 5902848 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 89 511968+ 6 FAT16
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(0, 1, 1) logical=(0, 1, 3)
Partition 1 has different physical/logical endings:
phys=(63, 188, 61) logical=(88, 154, 54)
Вижу раздел в FAT16 и пытаюсь его подмонтировать:
Код
# mount -t vfat /dev/sda1 /mnt
mount: Mounting /dev/sda1 on /mnt failed: No such device
mount: Mounting /dev/sda1 on /mnt failed: No such device
Пытаюсь подмонтировать под другой файловой системой:
# mount -t usbfs /dev/sda1 /mnt
Монтирование происходит без ошибок, просматриваю раздел:
Код
# ls -l /mnt
dr-xr-xr-x 2 root root 0 Jan 1 00:00 001
-r--r--r-- 1 root root 0 Jan 1 03:38 devices
# ls -l /mnt/001/
-rw-r--r-- 1 root root 43 Jan 1 00:00 001
-rw-r--r-- 1 root root 57 Jan 1 03:38 008
dr-xr-xr-x 2 root root 0 Jan 1 00:00 001
-r--r--r-- 1 root root 0 Jan 1 03:38 devices
# ls -l /mnt/001/
-rw-r--r-- 1 root root 43 Jan 1 00:00 001
-rw-r--r-- 1 root root 57 Jan 1 03:38 008
Все бы хорошо, но на флешке система FAT и соответственно я не получаю доступа к информации.
По поводу usbfs мне уже объяснили что usbfs - виртуальная файловая система, при ее монтровании первый параметр просто игнорируется. Туда вполне можно вписать /dev/null или вообще любой набор букв и все нормально смонтируется. Только никакого отношения к флэшке это иметь не будет.
Глядя на следующее складывается впечатление что в ядре отсутствут поддержка vfat:
Код
# cat /proc/filesystems
nodev rootfs
nodev bdev
nodev proc
nodev sockfs
nodev usbfs
nodev usbdevfs
nodev futexfs
nodev tmpfs
nodev pipefs
nodev eventpollfs
nodev devpts
ext3
ext2
nodev ramfs
nodev nfs
nodev rpc_pipefs
nodev rootfs
nodev bdev
nodev proc
nodev sockfs
nodev usbfs
nodev usbdevfs
nodev futexfs
nodev tmpfs
nodev pipefs
nodev eventpollfs
nodev devpts
ext3
ext2
nodev ramfs
nodev nfs
nodev rpc_pipefs
Приведу еще данные которые я получил при различных опциях монтирования:
Код
# mount /dev/sda /mnt
mount: Mounting /dev/sda on /mnt failed: Invalid argument
mount: Mounting /dev/sda on /mnt failed: Invalid argument
На флешке наблюдается активность светодиода.
Код
# mount /dev/sda1 /mnt
mount: Mounting /dev/sda1 on /mnt failed: No such device or address
~ # mount -t vfat /dev/sda /mnt
mount: Mounting /dev/sda on /mnt failed: No such device
~ # mount -t vfat /dev/sda1 /mnt
mount: Mounting /dev/sda1 on /mnt failed: No such device
mount: Mounting /dev/sda1 on /mnt failed: No such device or address
~ # mount -t vfat /dev/sda /mnt
mount: Mounting /dev/sda on /mnt failed: No such device
~ # mount -t vfat /dev/sda1 /mnt
mount: Mounting /dev/sda1 on /mnt failed: No such device
Т.е. я несколько не понимаю полученной зависимости. Почему при /dev/sda - Invalid argument, но есть активность, а при -t vfat /dev/sda - No such device.
Далее по SD/MMC:
К сожалению тут я совсем не понял как ее монтировать. Понятно что все так-же через mount, но какое устройство соответствует SD/MMC? Пробовал через устройсва /dev/sd*, /dev/mtr, но ответ всегда был один - нет устройства.
Приведу уточняющую информацию по системе:
uname -a
Код
Linux (none) 2.6.8.1-crus2.0.2 #9 Wed Sep 6 14:19:44 EEST 2006 armv4tl unknown
ls -l /
Код
-rw------- 1 root root 135202 Aug 22 2006 Noise.wav
drwx------ 2 root root 1024 Aug 22 2006 bin
drwxr-xr-x 6 root root 2048 Jan 1 00:00 dev
drwx------ 3 root root 1024 Aug 22 2006 etc
-rw------- 1 root root 744626 Aug 22 2006 funky.mp3
drwx------ 3 root root 1024 Aug 22 2006 home
drwx------ 3 root root 2048 Aug 22 2006 lib
lrwxrwxrwx 1 root root 11 Aug 22 2006 linuxrc -> bin/busybox
drwx------ 2 root root 1024 Aug 22 2006 media
drwxr-xr-x 2 root root 0 Jan 1 00:00 mnt
dr-xr-xr-x 29 root root 0 Jan 1 00:00 proc
drwx------ 2 root root 1024 Aug 22 2006 sbin
drwx------ 2 root root 1024 Aug 22 2006 sys
drwxrwxrwt 2 root root 1024 Jul 24 2006 tmp
drwx------ 5 root root 1024 Aug 22 2006 usr
drwxr-xr-x 5 root root 1024 Jul 24 2006 var
drwx------ 2 root root 1024 Aug 22 2006 bin
drwxr-xr-x 6 root root 2048 Jan 1 00:00 dev
drwx------ 3 root root 1024 Aug 22 2006 etc
-rw------- 1 root root 744626 Aug 22 2006 funky.mp3
drwx------ 3 root root 1024 Aug 22 2006 home
drwx------ 3 root root 2048 Aug 22 2006 lib
lrwxrwxrwx 1 root root 11 Aug 22 2006 linuxrc -> bin/busybox
drwx------ 2 root root 1024 Aug 22 2006 media
drwxr-xr-x 2 root root 0 Jan 1 00:00 mnt
dr-xr-xr-x 29 root root 0 Jan 1 00:00 proc
drwx------ 2 root root 1024 Aug 22 2006 sbin
drwx------ 2 root root 1024 Aug 22 2006 sys
drwxrwxrwt 2 root root 1024 Jul 24 2006 tmp
drwx------ 5 root root 1024 Aug 22 2006 usr
drwxr-xr-x 5 root root 1024 Jul 24 2006 var
# ls -lR /lib/modules/2.6.8.1-crus2.0.2/kernel/drivers/
Код
/lib/modules/2.6.8.1-crus2.0.2//kernel/drivers/:
drwx------ 2 root root 1024 Aug 22 2006 net
drwx------ 2 root root 1024 Aug 22 2006 scsi
drwx------ 3 root root 1024 Aug 22 2006 usb
/lib/modules/2.6.8.1-crus2.0.2//kernel/drivers/net:
-rw------- 1 root root 37787 Aug 22 2006 p80211.ko
-rw------- 1 root root 99860 Aug 22 2006 prism2_usb.ko
/lib/modules/2.6.8.1-crus2.0.2//kernel/drivers/scsi:
-rw------- 1 root root 16262 Aug 22 2006 sd_mod.ko
/lib/modules/2.6.8.1-crus2.0.2//kernel/drivers/usb:
drwx------ 2 root root 1024 Aug 22 2006 storage
/lib/modules/2.6.8.1-crus2.0.2//kernel/drivers/usb/storage:
-rw------- 1 root root 107672 Aug 22 2006 usb-storage.ko
drwx------ 2 root root 1024 Aug 22 2006 net
drwx------ 2 root root 1024 Aug 22 2006 scsi
drwx------ 3 root root 1024 Aug 22 2006 usb
/lib/modules/2.6.8.1-crus2.0.2//kernel/drivers/net:
-rw------- 1 root root 37787 Aug 22 2006 p80211.ko
-rw------- 1 root root 99860 Aug 22 2006 prism2_usb.ko
/lib/modules/2.6.8.1-crus2.0.2//kernel/drivers/scsi:
-rw------- 1 root root 16262 Aug 22 2006 sd_mod.ko
/lib/modules/2.6.8.1-crus2.0.2//kernel/drivers/usb:
drwx------ 2 root root 1024 Aug 22 2006 storage
/lib/modules/2.6.8.1-crus2.0.2//kernel/drivers/usb/storage:
-rw------- 1 root root 107672 Aug 22 2006 usb-storage.ko
Вопросы просты и банальны:
- я не правильно монтирую флешку или в ядре действительно отсутсвует поддержка vfat
- где бы я мог просмотреть файл описывающий опции ядра - что включено, что модулями и т.д.
- как мне подмонтировать карту SD/MMC, точнее сказать какое блочное устройство соответствует карте SD/MMC?
Заранее признателен за любую помошь и наставление на "путь истинный".
P.S. Извиняюсь за большой объем, постарался отразить все важное.