Hal - zapis na pendrive VFAT

Ogólne pytania dotyczące systemu
fault
Posty: 17
Rejestracja: 07 maja 2007, 17:34

Hal - zapis na pendrive VFAT

Post autor: fault »

Witam.

Po podłączeniu pendrive dmesg pięknie pokazuje:

Kod: Zaznacz cały

  [ 8526.936022] usb 1-5: new high speed USB device using ehci_hcd and address 6
[ 8527.068948] usb 1-5: New USB device found, idVendor=133c, idProduct=a099
[ 8527.068956] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8527.068959] usb 1-5: Product: FlashDrive with MP3 Player
[ 8527.068962] usb 1-5: Manufacturer: AVID Electronics Corp.
[ 8527.068965] usb 1-5: SerialNumber: 000100000000
[ 8527.069081] usb 1-5: configuration #1 chosen from 1 choice
[ 8527.354980] Initializing USB Mass Storage driver...
[ 8527.362187] scsi2 : SCSI emulation for USB Mass Storage devices
[ 8527.362603] usbcore: registered new interface driver usb-storage
[ 8527.362608] USB Mass Storage support registered.
[ 8527.374407] usb-storage: device found at 6
[ 8527.374412] usb-storage: waiting for device to settle before scanning
[ 8532.372182] usb-storage: device scan complete
[ 8532.395554] scsi 2:0:0:0: Direct-Access     AVID     NAND Flash       1.00 PQ     : 0 ANSI: 0 CCS
[ 8532.406330] Driver 'sd' needs updating - please use bus_type methods
[ 8532.412065] sd 2:0:0:0: [sda] 980992 2048-byte hardware sectors: (2.00 GB/1.8     7 GiB)
[ 8532.412509] sd 2:0:0:0: [sda] Write Protect is off
[ 8532.412513] sd 2:0:0:0: [sda] Mode Sense: 03 00 00 00
[ 8532.412517] sd 2:0:0:0: [sda] Assuming drive cache: write through
[ 8532.414021] sd 2:0:0:0: [sda] 980992 2048-byte hardware sectors: (2.00 GB/1.8     7 GiB)
[ 8532.414425] sd 2:0:0:0: [sda] Assuming drive cache: write through
[ 8532.414431]  sda:
[ 8532.534300] sd 2:0:0:0: [sda] Attached SCSI removable disk
Jak tylko próbuję użyć pendrive dostaje coś takiego (z nautilusa):

Kod: Zaznacz cały

[ 8714.662558] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[ 8715.486803] kjournald starting.  Commit interval 5 seconds
[ 8715.596740] EXT3 FS on hdb1, internal journal
[ 8715.596752] EXT3-fs: mounted filesystem with ordered data mode.
[ 8715.888516] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[ 8735.293302] FAT: Filesystem panic (dev sda)
[ 8735.293309]     invalid access to FAT (entry 0x55555555)
[ 8735.293313]     File system has been set read-only
[ 8735.293484] FAT: Filesystem panic (dev sda)
[ 8735.293486]     invalid access to FAT (entry 0x55555555)
Polecenie mount:

Kod: Zaznacz cały

(...)
/dev/hda1 on /media/disk type vfat (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=1000)
/dev/sda on /media/disk-1 type vfat (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=1000)
Co ciekawe partycja hda1 została zamontowana poprawnie. Tzn. można ją odczytać i zapisać na niej. Pendrive automatycznie przechodzi w tryb tylko do odczytu.

Jak zatrzymam hala i zamontuję ręcznie pendrive to działa w trybie zapis/odczyt.
Mam odpowiedni wpis w /etc/fstab:

Kod: Zaznacz cały

/dev/sda        /mnt/dysk_usb   vfat    rw,users,sync,noatime,nodev,noauto,noexec,umask=0,iocharset=iso8859-2,codepage=852   0       0
Próbowałem zmienić plik /usr/share/hal/fdi/policy/10osvendor
/20-storage-methods.fdi:

Kod: Zaznacz cały

      <match key="volume.fstype" string="vfat">
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
            <append key="volume.mount.valid_options" type="strlist">shortname=</append>
            <append key="volume.mount.valid_options" type="strlist">codepage=</append>
            <append key="volume.mount.valid_options" type="strlist">iocharset=</append>
            <append key="volume.mount.valid_options" type="strlist">umask=</append>  
            <append key="volume.mount.valid_options" type="strlist">dmask=</append>
            <append key="volume.mount.valid_options" type="strlist">dmask=</append>
            <append key="volume.mount.valid_options" type="strlist">fmask=</append>
            <append key="volume.mount.valid_options" type="strlist">uid=</append>
            <append key="volume.mount.valid_options" type="strlist">flush</append>
        </match>
Usunąłem z niego pierwszą linię definicji fvat:

Kod: Zaznacz cały

<append key="volume.mount.valid_options" type="strlist">utf8</append>
Niestety nie pomogło. Próba wpisania konkretnych wartości do pozostałych linii kończyła się komunikatem błędu. Coś w stylu:code]Nie można zamontować błędne opcje montowania[/code]

Kod: Zaznacz cały

locale LANG=pl_PL
.


System: Debian squeeze
jądro: 2.6.30-1-686

Podejrzewam, brak jakiś wpisów w plikach konfiguracji hala. Czyli całą tą "automagię". Już raz musiałem ręcznie poprawiać w Lennym wtedy wcale nie chciał montować vfat. Niestety teraz nie pamiętam dokładnie co zmieniałem.
Jeśli ma ktoś jakieś pomysły to proszę o pomoc.
Awatar użytkownika
foreste
Beginner
Posty: 116
Rejestracja: 29 marca 2008, 01:51

Post autor: foreste »

A montowałeś jako użytkownik root?

Kod: Zaznacz cały

su
twoje hasło
fault
Posty: 17
Rejestracja: 07 maja 2007, 17:34

Post autor: fault »

foreste pisze:A montowałeś jako użytkownik root?

Kod: Zaznacz cały

su
twoje hasło
Oczywiście, że po wyłączeniu hal'a montowałem już jako root. Ale ze zwykłego użytkownika też by zadziałało.

Częściowo rozwiązałem problem korzystając z http://www.mythic-beasts.com/~mark/random/hal/ .

Sprawdziłem sobie za pomocą lshal --monitor volume_uuid

Kod: Zaznacz cały

volume_uuid_F42F_54EC added
dodałem wpis do fstab

Kod: Zaznacz cały

/dev/disk/by-uuid/F42F-54EC     /mnt/mp3player_2G       vfat    rw,users,sync,nodev,noauto,umask=0,iocharset=iso8859-2,codepage=852
        0       0

Mogę teraz zamontować jako zwykły użytkownik pendrive.
Niestety muszę to robić ręcznie. Jeszcze jedna niedogodność jest taka, że jak próbuję przeglądać katalog do którego zamontowałem pendriva za pomocą nautilusa to znów wraca mi do trybu tylko do odczytu. W logach pojawia się wtedy znów:

Kod: Zaznacz cały

[ 1235.602033] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[ 1247.968112] FAT: Filesystem panic (dev sda)
[ 1247.968118]     invalid access to FAT (entry 0x55555555)
[ 1247.968122]     File system has been set read-only
Temat pozostaje więc otwarty.
Może ktoś ma jakieś sugestie.
ODPOWIEDZ