paměťové karty microSD - nelze na ně zapisovat ani je formátovat

Založil Kuba, 22. 08. 2010, 12:45:04

Předchozí téma - Další téma

Kuba

Mám tu jednu microSD kartu 2GB Transcend a jednu microsdhc 8GB adata cl6 a obě systém vidí můžu z nich kopírovat a číst soubory ale nelze na ně zapisovat ani v GParted formátovat. Ve Windows fungují OK. Pak mám ještě jednu SD 512MB Kingston a na tu jde normálně zapisovat i v Debianu. Tu microSD 2GB kartu (v redukci na SD) a SD 512MB připojuji přes USB čtečku 23v1. Tu microSDHC 8GB připojuji přes PDA (v kterém ji používám) připojeném k USB v režimu MassStorage.
PC: AMD Sempron 2500 @ 1750MHz + 512MB RAM + ATI Radeon 9250 128MB AGP
PC už mám novější a přešel jsem na Arch Linux.

koljin

Ahoj. Zkus následující kroky ("$" na začátku příkazu znamená, že ho můžeš spustit jako normální uživatel, "#" znamená, že ho musíš pustit jako root, jinak nebude fungovat). Místo "mujuzivatel" piš jméno svýho uživatele.

1) Jsi ve skupině floppy? Debian by tam měl normálního uživatele vytvořenýho při instalaci přidat automaticky. Zjistíš to tak, že ve výstupu příkazu
$ cat /etc/group | grep floppy
bude tvůj login.
Pokud ne, přidej se tam příkazem
# usermod -a -G floppy mujuzivatel

2) Připojí ti gnome (nebo kde nebo co používáš) kartu tak, že tam máš práva k zápisu? Zkus s připojenou kartou příkaz
$ find /media -maxdepth 1 -perm /202 -user mujuzivatel
Ve výstupu by měla bejt tvoje karta. Pokud není, hoď sem výstup příkazu (pořád s připojenou kartou)
$ ls -l /media
a uvidíme co dál.

3) Pokud je všechno předchozí OK, zapoj svojí kartu do počítače a dej sem výstup příkazů (puštěnejch chvilku po zapojení karty)
$ dmesg | tail
$ /sbin/parted -l

a uvidíme, co dál.

Kuba

Ahoj.
1) Ano jsem ve skupině floppy.
2) Používám Gnome. Po zadání toho prvního příkazu mi to napíše:

/media/024828B74828AB7D
/media/4E69-0F8C

4E69-0F8C je ta karta.

Po zadání toho druhého příkazu mi to napíše:

lrwxrwxrwx 1 root root     6 30. dub 21.35 cdrom -> cdrom0
drwxr-xr-x 2 root root  4096 30. dub 21.35 cdrom0
lrwxrwxrwx 1 root root     7 30. dub 21.35 floppy -> floppy0
drwxr-xr-x 2 root root  4096 30. dub 21.35 floppy0
drwx------ 1 kuba kuba 49152 24. srp 10.46 024828B74828AB7D
drwx------ 5 kuba kuba  8192  1. led  1970 4E69-0F8C



3) dmesg | tail
[12092.045807] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[12092.045829]  sdb: sdb1
[12093.169614] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[12438.041814] sd 6:0:0:0: [sdb] 3987456 512-byte logical blocks: (2.04 GB/1.90 GiB)
[12438.043965] sd 6:0:0:0: [sdb] Write Protect is off
[12438.043972] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00
[12438.043976] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[12438.046211] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[12438.046236]  sdb: sdb1
[12438.920149] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!

sbin/parted -l
bash: /sbin/parted: Adresář nebo soubor neexistuje

PC: AMD Sempron 2500 @ 1750MHz + 512MB RAM + ATI Radeon 9250 128MB AGP
PC už mám novější a přešel jsem na Arch Linux.

Roman Horník

sbin/parted -l
bash: /sbin/parted: Adresář nebo soubor neexistuje


1) Nainstaluj si parted, pokud jej nemáš... sudo apt-get install parted
2) ... a spusť ho. Nemusíš zadávat absolutní cestu (to /sbin/...), program ale vyžaduje práva roota, tedy sudo parted -l
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz

koljin

Jo, zapomněl jsem, že parted standardně není nainstalovanej... Může se hodit :) Jinak pozor, když spouštíš tyhle programy jako root - změny, co provedeš, se blbě vracej (formátování, mazání partitionů...), takže několikrát zkontrolvat, co si napsal :) Proto jsem psal, že "list" (tj. parted -l) jde pustit i s normálnim uživatelem, ale musí se psát /sbin/parted, jinak ho to nenajde (/sbin není normálně v PATH).


Ale nějak nemůžu přijít na to, proč by na tu kartu nemělo jít zapisovat... Výstupy toho, co jsi napsal, vypadají v pořádku (žádnej error, partition to najde, write protect off, připojí to do /media a navíc tam máš právo k zápisu). Zkus na tý kartě vytvořit nějakej soubor, např.
$ touch /media/4E69-0F8C/pokusny-soubor.txt
Když to nepůjde, tak by to mělo vypsat nějakou chybu...

Kuba

koljin: po zadání toho příkazu mi to napíše toto:

touch: nelze se dotknout (provést příkaz ,,touch") ,,/media/4E69-0F8C/pokusny-soubor.txt": Systém souborů je pouze pro čtení



Roman Horník: po instalaci parted a spuštění mi to (kromě informací o hdd) napíše:
Warning: Unable to open /dev/sdb read-write (Systém souborů je pouze pro čtení).
/dev/sdb has been opened read-only.
Model: Generic USB SD Reader (scsi)
Disk /dev/sdb: 2042MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End     Size    Type     File system  Flags
1      126kB  2042MB  2041MB  primary  fat32
PC: AMD Sempron 2500 @ 1750MHz + 512MB RAM + ATI Radeon 9250 128MB AGP
PC už mám novější a přešel jsem na Arch Linux.

koljin

Ještě sem můžeš napsat výstup příkazu (s připojenou kartou)
$ mount

Ale nic mě nenapadá, on ti to odmítá jakkoliv zapisovat na celou tu kartu jako takovou, ne jen do oddílů na ní... Jedinej způsob, jak tohohle s mojí SD kartou dosáhnout, je zamáčknutí tlačítka "Lock". Pak na ní nejde zapisovat. Je to vidět už ve výstupu dmesg, mám tam pak totiž "mmcblk0: mmc0:0002 SD    15.1 GiB (ro)", tj. read-only. Ještě jednou tohle zkontroluj (nevim, jestli to maj i microSD karty, nechce se mi jí zrovna vyndavat z telefonu...) a zkontroluj i tu redukci a USB čtečku...
Pak už mi došly nápady, ale třeba poradí někdo, kdo tomu rozumí :)

Kuba

výstup příkazu mount

/dev/sdb1 on /media/4E69-0F8C type vfat (ro,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush)


microSD nemají zámek, ten mají akorát SD redukce. Ty redukce microSD na SD mám dvě (dělá to u obou). Tlačítko Lock je ve správné poloze (odemčeno). Foťák na ni normálně data zapíše, set top box taky.

Zajímavé taky je, že ta 8gb microSDHC karta co mám v PDA, na kterou taky nešlo v Debianu zapisovat, tak od dnešního rána na ni najednou zničeho nic zapisovat jde (přitom ještě včera nešlo). Problém tedy dělá jen ta 2gb.
PC: AMD Sempron 2500 @ 1750MHz + 512MB RAM + ATI Radeon 9250 128MB AGP
PC už mám novější a přešel jsem na Arch Linux.

koljin

V tom výstupu je ro (read-only), což je logický, když mu něco brání zapisovat na celou tu kartu vůbec... Proč to je, to netušim - jestli máš dualboot a můžeš na tom samym počítači nahodit windows nebo jinej os, zkus to v tom (s tou samou čtečkou a redukcí), a jestli to půjde, tak je to záhada - netuším, co by se dalo v systému nastavit, aby se to chovalo takhle...

Roman Horník

Citace od: koljin kdy 24. 08. 2010, 15:16:15...Proto jsem psal, že "list" (tj. parted -l) jde pustit i s normálnim uživatelem, ale musí se psát /sbin/parted, jinak ho to nenajde (/sbin není normálně v PATH)...

Ani to nepomůže, musí se to spustit pod rootem ;).

kozel@Debian-Sid:~$ /sbin/parted -l
kozel@Debian-Sid:~$ sudo parted -l
Model: ATA WDC WD3200AAKS-0 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
1      32,3kB  18,1GB  18,1GB  primary  xfs             boot
2      18,1GB  20,1GB  1999MB  primary  linux-swap(v1)
3      20,1GB  320GB   300GB   primary  xfs


Model: ATA WDC WD1600JS-00N (scsi)
Disk /dev/sdb: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  Flags
1      1049kB  160GB  160GB  primary  xfs
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz

Roman Horník

Read-only může bejt možná způsobeno tím, že karta nebyla na Woknouzu řádně odpojena/odebrána. Zkus nabootovat Woknouze, strč tam kartu, dej ji "bezpečně" odebrat a zkus to znovu.
Taky by to mohlo jít teoreticky obejít přidáním karty do /etc/fstab, nebo přimountováním přes mount s přepínačem -w (nebo -o rw)
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz

koljin

Citace od: Roman Horník kdy 25. 08. 2010, 16:46:07
...
I když mu prej parted (pod rootem) hlásil, že zařízení je read-only? To mi právě nejde do hlavy... i když, že by to dělal proto, že jí má přimountovanou?

Zkus připojit kartu a pod rootem:
# cd /home/kuba   # nebo jakej máš domovskej adresář, to je jedno
# umount /media/4E69-0F8C
# mkdir pokus_sd_karta
# mount -w /dev/sdb1 pokus_sd_karta
# touch pokus_sd_karta/pokusny_soubor.txt
# umount pokus_sd_karta
# rmdir -v pokus_sd_karta # pozor na překlepy :)


Kuba

Díky moc všem za rady. Nakonec jsem Debian 2x přeinstaloval (jednou Lennyho-ten měl pár chyb, pak Squeeze kterého jsem nakonec upgradnul na Sida), ale ani to nepomohlo a tak nakonec jsem tu kartu dal do dig. foťáku a naformátoval v něm a je po problému. Omlouvám se, že odepisuju po delší době.
PC: AMD Sempron 2500 @ 1750MHz + 512MB RAM + ATI Radeon 9250 128MB AGP
PC už mám novější a přešel jsem na Arch Linux.

merlin111

S podobným problémem jsem nedávno zápasil. Po připojení USB čtečky  nautilus v Gnome zobrazil ikony pro jednotlivé sloty čtečky, ale ty neodkazovali na souborový systém karty. Místo toho se objevila nová ikona s názvem usb0, ze které šlo číst, ale nikoliv zapisovat pod normálním uživatelem. Pod root šlo zapisovat velmi a velmi malou rychlosti.

problém byl po mnoha dnech googlení vyřešen jednoduše
1. zakázal jsem media automount pro nauitilus v gconf
2. odinstaloval jsem kompletně usbmount a pmount včetně daemonu ivman
3.naistaloval jsem autofs který funguje spolehlivě

Zatím se zdá že vše funguje spolehlivě

Karaokekok

merlin111: Tvoj návod mi pomohol : ), díki moc, funguje 100%, s tým, že autofs nešiel z repo, tak som ho našiel na nete v .deb