Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
Не работает автомонтирование SD (AT91SAM9XE512)
OHara
Добавлено 09.02.2010 17:59 Сообщение: 11
OHara
0

Пункты: 84
Регистрация: 25.12.2009
Цитата
БП приличный, если не сгоревший :) Меня еще смущает
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
Ядро самосборное ? Просто вот этот драйвер для этого камня совсем не нужен.


Ядро сам собирал, но с патчами от linux4sam. С готовым ядром карта так же себя вела. Там в логах я встречал сообщение про то, что драйвер SD надо обновить
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 09.02.2010 18:29 Сообщение: 12
sasamy
4.70

Пункты: 77208
Регистрация: 14.08.2009
Посмотри еще раз предыдущее сообщение, я его редактировал и ты похоже не увидел его до конца.
Лучше взять свежее ванильное ядро с kernel.org без всяких патчей с linux4sam, они все равно в последних версиях процессора at91sam9260 не касались. Я не знаю как на твоей плате распаян mci - на слот А или слот В, в замвисимости от этого возможно придется подправить board-файл.
Спуститься к концу Подняться к началу
Персональная информация
OHara
Добавлено 10.02.2010 11:46 Сообщение: 13
OHara
0

Пункты: 84
Регистрация: 25.12.2009
ДД! Перед тем, как начинать возиться с новым ядром, решил все же для определенности добить вопрос с готовой сборкой от linux4sam. Взял их ядро 2.6.27 и rootfs. В fstab строка, касающаяся mmc закрыта. Карточку вытащил, перегрузился, карточку вставил, dmesg:
Linux version 2.6.27 (nferre@bendor) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #1 Thu Se$
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
console [ttyS0] 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: 61804KB available (2716K code, 223K data, 120K init)
Calibrating delay loop... 99.12 BogoMIPS (lpj=495616)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 288 bytes
NET: Registered protocol family 16
AT91: Power Management
AT91: Starting after user reset
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
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
msgmni has been set to 120
io scheduler noop registered
io scheduler anticipatory registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
brd: module loaded
loop: module loaded
ssc ssc.0: Atmel SSC device at 0xc4870000 (irq 14)
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (3e:36:65:ba:6f:be)
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:00, irq=-1)
Driver 'sd' needs updating - please use bus_type methods
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
AT91 NAND: 8-bit, Software ECC
Scanning device for bad blocks
Creating 3 MTD partitions on "atmel_nand":
0x00000000-0x00400000 : "Bootstrap"
0x00400000-0x04000000 : "Partition 1"
0x04000000-0x10000000 : "Partition 2"
atmel_spi atmel_spi.1: Atmel SPI Controller at 0xfffcc000 (irq 13)
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 20, io mem 0x00500000
usb usb1: configuration #1 chosen from 1 choice
USB Mass Storage support registered.
udc: at91_udc version 3 May 2006
mice: PS/2 mouse device common for all mice
input: gpio-keys as /class/input/input0
rtc-at91sam9 at91_rtt.0: rtc core: registered at91_rtt as rtc0
Registered led device: ds5
Registered led device: ds1
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.17.
at73c213 spi1.0: at73c213: supported bitrate is 48500 (64 divider)
ALSA device list:
#0: AT91SAM9260-EK external DAC on irq 14
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
rtc-at91sam9 at91_rtt.0: setting system clock to 2010-02-10 11:34:14 UTC (1265801654)
jffs2_scan_dirent_node(): Node CRC failed on node at 0x011847e4: Read 0xffffffff, calculated 0x1816c681
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 120K
^MINIT: version 2.86 booting^M
Error opening /dev/fb0: No such device or address
.udev/ already exists on the static /dev!
Starting the hotplug events dispatcher udevd
Synthesizing the initial hotplug events
Waiting for /dev to be fully populated
Remounting root file system...
Setting up IP spoofing protection: rp_filter.
Configuring network interfaces... udhcpc (v1.2.1) started
udhcpc[1496]: udhcpc (v1.2.1) started^M
run-parts: /etc/udhcpc.d/00avahi-autoipd exited with return code 1: Success
Sending discover...
udhcpc[1496]: Sending discover...^M
Sending select for 192.168.55.173...
udhcpc[1496]: Sending select for 192.168.55.173...^M
Lease of 192.168.55.173 obtained, lease time 691200
udhcpc[1496]: Lease of 192.168.55.173 obtained, lease time 691200^M
run-parts: /etc/udhcpc.d/00avahi-autoipd exited with return code 1: Success
adding dns 83.217.192.2
adding dns 192.168.55.100
adding dns 193.232.88.17
adding dns 195.34.32.10
done.
Starting portmap daemon: portmap.
/sbin/ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory
Nothing to be done
^MINIT: Entering runlevel: 5^M
ALSA: Restoring mixer settings...
Starting Dropbear SSH server: dropbear.
Starting system message bus: Unknown group "netdev" in message bus configuration file
dbus.
Starting syslogd/klogd: done
Starting thttpd.
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
[ ok ]

fdisk -l /dev/mmcblk0 ничего не дал
ls -l /dev | grep mmc* - пусто соответственно и
root@at91sam:~$ mount /dev/mmcblk0p1 /media/card
mount: special device /dev/mmcblk0p1 does not exist
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.02.2010 11:52 Сообщение: 14
sasamy
4.70

Пункты: 77208
Регистрация: 14.08.2009
Значит у тебя как у меня mci распаян на слот А, в оригинальной EK он распаян на слот В. Нужно в исходниках менять
linux-2.6.32.5/arch/arm/mach-at91/board-sam9260ek.c
чтобы было типа этого
Код

/*
* MCI (SD/MMC)
*/
static struct at91_mmc_data __initdata ek_mmc_data = {
.slot_b = 0,
.wire4 = 1,
.det_pin = AT91_PIN_PA4
// .wp_pin = ... not connected
// .vcc_pin = ... not connected
};

det_pin проверь по схеме своей платы.
Спуститься к концу Подняться к началу
Персональная информация
OHara
Добавлено 10.02.2010 11:54 Сообщение: 15
OHara
0

Пункты: 84
Регистрация: 25.12.2009
Теперь то же самое со вставленной картой (в fstab'е по-прежнему mmc закрыто)
Linux version 2.6.27 (nferre@bendor) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #1 Thu S$
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
console [ttyS0] 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: 61804KB available (2716K code, 223K data, 120K init)
Calibrating delay loop... 99.12 BogoMIPS (lpj=495616)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 288 bytes
NET: Registered protocol family 16
AT91: Power Management
AT91: Starting after user reset
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
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
msgmni has been set to 120
io scheduler noop registered
io scheduler anticipatory registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
brd: module loaded
loop: module loaded
ssc ssc.0: Atmel SSC device at 0xc4870000 (irq 14)
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (3e:36:65:ba:6f:be)
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:00, irq=-1)
Driver 'sd' needs updating - please use bus_type methods
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
AT91 NAND: 8-bit, Software ECC
Scanning device for bad blocks
Creating 3 MTD partitions on "atmel_nand":
0x00000000-0x00400000 : "Bootstrap"
0x00400000-0x04000000 : "Partition 1"
0x04000000-0x10000000 : "Partition 2"
atmel_spi atmel_spi.1: Atmel SPI Controller at 0xfffcc000 (irq 13)
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 20, io mem 0x00500000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
udc: at91_udc version 3 May 2006
mice: PS/2 mouse device common for all mice
input: gpio-keys as /class/input/input0
rtc-at91sam9 at91_rtt.0: rtc core: registered at91_rtt as rtc0
Registered led device: ds5
Registered led device: ds1
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.17.
at73c213 spi1.0: at73c213: supported bitrate is 48500 (64 divider)
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card at address b368
mmcblk0: mmc0:b368 SD01G 980992KiB
mmcblk0: p1

ALSA device list:
#0: AT91SAM9260-EK external DAC on irq 14
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
rtc-at91sam9 at91_rtt.0: setting system clock to 2010-02-10 11:45:56 UTC (1265802356)
jffs2_scan_dirent_node(): Node CRC failed on node at 0x011847e4: Read 0xffffffff, calculated 0x1816c681
Empty flash at 0x01184820 ends at 0x01185000
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 120K

INIT: version 2.86 booting

Error opening /dev/fb0: No such device or address
.udev/ already exists on the static /dev!
Starting the hotplug events dispatcher udevd
Synthesizing the initial hotplug events
Waiting for /dev to be fully populated
Remounting root file system...
Setting up IP spoofing protection: rp_filter.
Configuring network interfaces... udhcpc (v1.2.1) started
udhcpc[1566]: udhcpc (v1.2.1) started

run-parts: /etc/udhcpc.d/00avahi-autoipd exited with return code 1: Success
Sending discover...
udhcpc[1566]: Sending discover...

eth0: link up (100/Full)
Sending discover...
udhcpc[1566]: Sending discover...

Sending select for 192.168.55.173...
udhcpc[1566]: Sending select for 192.168.55.173...

Lease of 192.168.55.173 obtained, lease time 691200
udhcpc[1566]: Lease of 192.168.55.173 obtained, lease time 691200

run-parts: /etc/udhcpc.d/00avahi-autoipd exited with return code 1: Success
adding dns 83.217.192.2
adding dns 192.168.55.100
adding dns 193.232.88.17
adding dns 195.34.32.10
done.
Starting portmap daemon: portmap.
/sbin/ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory
Nothing to be done

INIT: Entering runlevel: 5

ALSA: Restoring mixer settings...
Starting Dropbear SSH server: dropbear.
Starting system message bus: Unknown group "netdev" in message bus configuration file
dbus.
Starting syslogd/klogd: done
Starting thttpd.
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
[ ok ]


root@at91sam:~$ fdisk -l /dev/mmcblk0

Disk /dev/mmcblk0: 1004 MB, 1004535808 bytes
255 heads, 63 sectors/track, 122 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 122 979933+ b Win95 FAT32

команда mount выдает вот что:
/dev/mmcblk0 on /media/mmcblk0 type vfat (rw,sync,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)

Далее:
root@at91sam:~$ umount /media/mmcblk0 - нормально
root@at91sam:~$ mount /dev/mmcblk0p1 /media/card - ОК
root@at91sam:~$ ls -l /media/card
drwxr-xr-x 2 root root 4096 Feb 4 16:45 SD_READER
-rwxr-xr-x 1 root root 601096 Oct 28 12:15 wursetup.exe
Спуститься к концу Подняться к началу
Персональная информация
OHara
Добавлено 10.02.2010 11:57 Сообщение: 16
OHara
0

Пункты: 84
Регистрация: 25.12.2009
[quote]Значит у тебя как у меня mci распаян на слот А, в оригинальной EK он распаян на слот В. Нужно в исходниках менять
linux-2.6.32.5/arch/arm/mach-at91/board-sam9260ek.c
чтобы было типа этого
Код

/*
* MCI (SD/MMC)
*/
static struct at91_mmc_data __initdata ek_mmc_data = {
.slot_b = 0,
.wire4 = 1,
.det_pin = AT91_PIN_PA4
// .wp_pin = ... not connected
// .vcc_pin = ... not connected
};

det_pin проверь по схеме своей платы.[/quote]

Во как!
/*
* MCI (SD/MMC)
*/
static struct at91_mmc_data __initdata ek_mmc_data = {
.slot_b = 1,
.wire4 = 1,
// .det_pin = ... not connected
// .wp_pin = ... not connected
// .vcc_pin = ... not connected
};
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.02.2010 12:05 Сообщение: 17
sasamy
4.70

Пункты: 77208
Регистрация: 14.08.2009
Да понятно - там как раз не прописан det_pin - при загрузке ядра он обнаруживает вставленную карту при инициализации модуля а если карта не была вставлена в самом начале то уже не увидит ее никогда, раньше Павел делал финт ушами - модуль mmc собирал и не линковал статически а оставлял подгружаемым модулем и писал маленький срипт который постоянно загружал выгружал этот модуль, тогда карта определялась. Добавление det_pin полностью решает эту проблему. При вставке карты срабатывает прерывание от этого gpio и запускается инит карты автоматом. На всякий случай убедись чкуда распаян mci - на схеме хорошо видно.
Спуститься к концу Подняться к началу
Персональная информация
OHara
Добавлено 10.02.2010 12:43 Сообщение: 18
OHara
0

Пункты: 84
Регистрация: 25.12.2009
Вобщем, похоже что так:
/*
* MCI (SD/MMC)
*/
static struct at91_mmc_data __initdata ek_mmc_data = {
.slot_b = 1,
.wire4 = 1,
.det_pin = AT91_PIN_PC9,
// .wp_pin = ... not connected
// .vcc_pin = ... not connected
};
Теперь при вставке/удалении карты она монтируется размонтируется сама. НО! В fstabe вот так:
/dev/mmcblk0p1 /media/card auto defaults,sync 0 0
а монтируется так:
/dev/mmcblk0 on /media/mmcblk0 type vfat (rw,sync,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)
А хотелось бы как в fstabe- в card и раздел, иначе не видно данных и приходится размонтировать и монтировать на p1
Спуститься к концу Подняться к началу
Персональная информация
OHara
Добавлено 10.02.2010 12:46 Редактировалось 10.02.2010 12:53 Сообщение: 19
OHara
0

Пункты: 84
Регистрация: 25.12.2009
В догонку! Кстати, если загружаться со вставленной картой, то в логе появляется вот что:
root: mount: /dev/mmcblk0p1 already mounted or /media/card busy
То есть попытка смонтироваться согласно fstab'у делается, но там уже смонтировался /dev/mmcblk0 на
/media/mmcblk0
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.02.2010 12:50 Сообщение: 20
sasamy
4.70

Пункты: 77208
Регистрация: 14.08.2009
Цитата
а монтируется так:


Ну это явно дело рук udev - изменяй его правила. Или вообще закоменть его, _при загрузке_ карта смонтируется по правилу из fstab правда в процессе работы автомоунта уже не будет, если он нужен - правь правила для udev.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux