Hagil Napisano Marzec 24, 2007 Zgłoszenie Share Napisano Marzec 24, 2007 Witam, mam następujący problem Ostatnio zakupiłem odtwarzacz zbudowany na chipie RockChip odtwarza on mp3 oraz pliki avi Moja Fedora Core 6 poprawnie go wykrywa i montuje, ale przy próbie przesłania jakiś plików z komputera na odtwarzacz lub odwrotnie następuje błąd odczytu/zapisu i się odłącza sam. Odtwarzacz jest sprawny, wszystko poprawnie działa na Windowsie XP oraz 2000 Pamięci Flash USB są obsługiwane poprawnie, odczyt i zapis działa poprawnie. Oto co wyskakuje w konsoli po podłączeniu: szymon@localhost ~]$ scsi 5:0:0:0: Direct-Access RockChip USB MP3 1.00 PQ: 0 ANSI:0 CCS SCSI device sda: 4088832 512-bytes hdrw sector (2093 MB) sda: Write Protect is off sda: assuming drive cache: write through SCSI device sda: 4088832 512-bytes hdrw sector (2093 MB) sda: Write Protect is off sda: assuming drive cache: write through sd 5:0:0:0: Attached scsi removable disk sda sd 5:0:0:0: Attached scsi generic sg0 type 0 Problemy następnie pojawiają się przy kopiowaniu: szymon@localhost ~]$ cp /media/disk/VOICE/REC0001.WAV /home/szymon/ end_request: I/O error, dev sda, sector 24557 end_request: I/O error, dev sda, sector 24776 end_request: I/O error, dev sda, sector 24792 end_request: I/O error, dev sda, sector 24536 cp: czytanie `/media/disk/VOICE/REC0001.WAV': Błąd wejścia/wyjścia szymon@localhost ~]$ Buffer I/O error on device sda, logic block lost page write due to I/O error on sda I następuje zerwanie połączenia z playerem System plików był FAT, zmieniłem na FAT32 i nic nie pomogło Proszę o pomoc Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Daniello Napisano Marzec 24, 2007 Zgłoszenie Share Napisano Marzec 24, 2007 Napisz jaki jest wynik polecenia fdisk -l z podlaczonym i zamontowanym mp3. Jesli twój mp3 pracuje na partycji sda1, lub podobnej spróbuj wykonac czynnosci: Spróbuj stworzyc nowa tablice partycji sda1, na której to pracuje player. Wlóz mp3 do portu USB i nie montuj go. Odpal z roota (su -): # fdisk /dev/sda - wklep: o, potem 1 i dalej stosuj sie do komunikatów. Taka operacja usuwa czysci cala tablice sda, w tym partycje z twoim mp3. - No i utwórz sobie nowa partycje sda1: wklep: n, 1, i potwierdzaj komunikaty. Potem sformatuj mp3: mkfs.vfat /dev/sda1 Spróbuj zamontowac. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Hagil Napisano Marzec 25, 2007 Autor Zgłoszenie Share Napisano Marzec 25, 2007 Po wydaniu komendy: fdisk -l /dev/sda tak to wygladalo: [root@localhost ~]# fdisk -l /dev/sda Disk /dev/sda: 2093 MB, 2093481984 bytes 65 heads, 62 sectors/track, 1014 cylinders Units = cylinders of 4030 * 512 = 2063360 bytes This doesn't look like a partition table Probably you selected the wrong device. Device Boot Start End Blocks Id System /dev/sda1 ? 58274 747398 1388585221 6e Unknown Partition 1 has different physical/logical beginnings (non-Linux?): phys=(288, 110, 57) logical=(58273, 45, 6) Partition 1 has different physical/logical endings: phys=(622, 111, 24) logical=(747397, 56, 45) Partition 1 does not end on cylinder boundary. /dev/sda2 ? 476056 881769 817510834+ 73 Unknown Partition 2 has different physical/logical beginnings (non-Linux?): phys=(377, 32, 36) logical=(476055, 28, 52) Partition 2 has different physical/logical endings: phys=(511, 107, 53) logical=(881768, 1, 4) Partition 2 does not end on cylinder boundary. /dev/sda3 ? 447327 862162 835892528+ 2c Unknown Partition 3 has different physical/logical beginnings (non-Linux?): phys=(362, 116, 53) logical=(447326, 31, 30) Partition 3 has different physical/logical endings: phys=(353, 32, 46) logical=(862161, 31, 36) Partition 3 does not end on cylinder boundary. /dev/sda4 ? 716051 716065 27492+ 77 Unknown Partition 4 has different physical/logical beginnings (non-Linux?): phys=(353, 107, 44) logical=(716050, 35, 56) Partition 4 has different physical/logical endings: phys=(378, 105, 51) logical=(716064, 12, 46) Partition 4 does not end on cylinder boundary. Partition table entries are not in disk order Po przeprowadzeniu zalecanych dzialan z uzyciem fdisk-a wygladalo juz poprawnie: [root@localhost ~]# fdisk -l /dev/sda Disk /dev/sda: 2093 MB, 2093481984 bytes 65 heads, 62 sectors/track, 1014 cylinders Units = cylinders of 4030 * 512 = 2063360 bytes Device Boot Start End Blocks Id System /dev/sda1 1 1014 2043179 83 Linux Jednak to nie rozwiazalo problemu, gdyz po poleceniu mkfs.vfat /dev/sda1 [root@localhost ~]# mkfs.vfat /dev/sda1 (...) Buffer I/O error on device sda1, logic block 127 lost page write due to I/O error on sda1 Buffer I/O error on device sda1, logic block 128 lost page write due to I/O error on sda1 Buffer I/O error on device sda1, logic block 129 lost page write due to I/O error on sda1 end_request: I/O error, dev sda, sector 542 end_request: I/O error, dev sda, sector 782 sda : READ CAPACITY failed, sda : status=0, message=00, host=7, driver=00, sda : sense not available. sda: Write Protect is off sda: assuming drive cache: write through I sie player rozlacza, a po ponownym podlaczeniu jakies pliki sa na dysku playera (smieci powstale po przerwaniu formatowania) których niemozna usunac. Niemozna bylo sformatowac pod linuksem (próbowalem równiez programem qtparted), poniewaz nastepowalo rozlaczanie polaczenia. Mozna bylo jedynie pod windowsem. Cala operacja dalatylko taki skutek, ze tablica alokacji obecnie wyglada poprawnie, a player jak nie dzialal, tak nie dziala poprawnie pod Linuksem. Podejrzewam ze to moze miec zwiazek, ze przesyl realizuje RockChip, który najprawdopodobniej nie jest dobrze obslugiwany przez Linuksa, ale to tylko moje spekulacje. W specyfikacji jednak ze jest wspierany przez Linuksa od jadra 2.4.2, wiec nie wiem co mam o tym myslec. ps. Napisze jeszcze ze wszystkie informacje o bledach musialem przepisywac z konsoli, poniewaz w terminalu tylko wyskakuja tylko zdawkowe informacje: szymon@localhost ~]$ cp /media/disk/VOICE/REC0001.WAV /home/szymon/ cp: czytanie `/media/disk/VOICE/REC0001.WAV': Blad wejscia/wyjscia Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
piotreek23 Napisano Marzec 25, 2007 Zgłoszenie Share Napisano Marzec 25, 2007 Powiem tak sprawdz u kogos na windowsie (wiem wiem ble ble) jezeli problem sie powtórzy i nadal beda smieci to masz uszkodzony pendrive i zostaje reklamacja.Na 80% to jest problem z pamiecia flash w mp3-ujce. Ale nie mozna tez wykluczyc problemów sprzetowych z magistrala USB itp. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Hagil Napisano Marzec 25, 2007 Autor Zgłoszenie Share Napisano Marzec 25, 2007 Powiem tak sprawdź u kogoś na windowsie (wiem wiem ble ble) jeżeli problem się powtórzy i nadal będą śmieci to masz uszkodzony pendrive i zostaje reklamacja. (...) Jak już pisałem sprawdzałem playera na windowsie xp (tylko po to zainstalowałem go) oraz na windowsie 2000 (na uczelni) i tam działa bez żadnego problemu. Testowałem też na drugim kompie (również z Fedorą Core 6) i to samo co u mnie na kompie, rozłącza się. Śmieci są po tym, jak traci łączność, i tym samym przerywa formatowanie w trakcie (pod windowsem bez problemy sformatowałem). (...) Ale nie można też wykluczyć problemów sprzętowych z magistralą USB itp. No właśnie wydaje się że z magistralą jest wszystko OK, ponieważ na windowsie działa wszystko ok, a także pendrive (Kingstona) działa bez problemu na Linuksie, a także na windowsie. Kolega także był z zewnętrznym dyskiem 80 GB na USB, i podczas przekopiowania mu ok 20 GB danych nie było żadnych problemów,więc sądze że to nie magistrala, a bardziej problem softwarowy z Linuksem. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Daniello Napisano Marzec 25, 2007 Zgłoszenie Share Napisano Marzec 25, 2007 Nie wiem, naprawdę. Pokaż jeszcze komunikaty jądra (ostatnie linijki) po włożeniu urządzenia do portu USB: dmesg Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Hagil Napisano Marzec 25, 2007 Autor Zgłoszenie Share Napisano Marzec 25, 2007 Oto co dotyczy playera wypluwa po poleceniu: dmesg usb 5-5: new high speed USB device using ehci_hcd and address 3 usb 5-5: configuration #1 chosen from 1 choice Initializing USB Mass Storage driver... scsi2 : SCSI emulation for USB Mass Storage devices usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usb-storage: device found at 3 usb-storage: waiting for device to settle before scanning scsi 2:0:0:0: Direct-Access RockChip USB MP3 1.00 PQ: 0 ANSI: 0 CCS SCSI device sda: 4088832 512-byte hdwr sectors (2093 MB) sda: Write Protect is off sda: Mode Sense: 03 00 00 00 sda: assuming drive cache: write through SCSI device sda: 4088832 512-byte hdwr sectors (2093 MB) sda: Write Protect is off sda: Mode Sense: 03 00 00 00 sda: assuming drive cache: write through sda: sda1 sd 2:0:0:0: Attached scsi removable disk sda usb-storage: device scan complete sd 2:0:0:0: Attached scsi generic sg0 type 0 SELinux: initialized (dev sda1, type vfat), uses genfs_contexts usb 5-5: reset high speed USB device using ehci_hcd and address 3 usb 5-5: reset high speed USB device using ehci_hcd and address 3 sd 2:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 830 sd 2:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 1070 sda : READ CAPACITY failed. sda : status=0, message=00, host=7, driver=00 sda : sense not available. sda: Write Protect is off sda: Mode Sense: 00 00 00 00 sda: assuming drive cache: write through usb 5-5: USB disconnect, address 3 Buffer I/O error on device sda1, logical block 504 lost page write due to I/O error on sda1 Widze że zaczyna pluć błędami po: SELinux: initialized (dev sda1, type vfat), uses genfs_contexts Czy może mieć to związek z SELinux ? Po tym następuje: usb 5-5: reset high speed USB device using ehci_hcd and address 3 Czy to może być tym resetem spowodowane? Edit: A oto dla porównania co się dzieje po podłączeniu pendriva Kingostona (z którym nie ma najmniejszych problemów): usb 5-5: new high speed USB device using ehci_hcd and address 6 usb 5-5: configuration #1 chosen from 1 choice scsi5 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 6 usb-storage: waiting for device to settle before scanning scsi 5:0:0:0: Direct-Access Kingston DataTraveler 2.0 6.50 PQ: 0 ANSI: 0 CCS SCSI device sda: 1970175 512-byte hdwr sectors (1009 MB) sda: Write Protect is off sda: Mode Sense: 45 00 00 08 sda: assuming drive cache: write through SCSI device sda: 1970175 512-byte hdwr sectors (1009 MB) sda: Write Protect is off sda: Mode Sense: 45 00 00 08 sda: assuming drive cache: write through sda: sda1 sd 5:0:0:0: Attached scsi removable disk sda sd 5:0:0:0: Attached scsi generic sg0 type 0 usb-storage: device scan complete SELinux: initialized (dev sda1, type vfat), uses genfs_contexts Jak widać po inicjalizacji SELinux nie ma żadnych resetów. Więc może to być to? Czyżby SELinux tak mieszał? Jeśli to on, to jak zrobić to, aby to działało, a nie wyłączać całego SELinux (bo tak to sam umiem zrobić, ale tego bym niechciał)? Edit 2 Jednak to chyba nie SELinux miesza. To z wylączony SELinux: usb 5-5: new high speed USB device using ehci_hcd and address 5 usb 5-5: configuration #1 chosen from 1 choice scsi4 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 5 usb-storage: waiting for device to settle before scanning scsi 4:0:0:0: Direct-Access RockChip USB MP3 1.00 PQ: 0 ANSI: 0 CCS SCSI device sda: 4088832 512-byte hdwr sectors (2093 MB) sda: Write Protect is off sda: Mode Sense: 03 00 00 00 sda: assuming drive cache: write through SCSI device sda: 4088832 512-byte hdwr sectors (2093 MB) sda: Write Protect is off sda: Mode Sense: 03 00 00 00 sda: assuming drive cache: write through sda: sda1 sd 4:0:0:0: Attached scsi removable disk sda sd 4:0:0:0: Attached scsi generic sg0 type 0 usb-storage: device scan complete usb 5-5: reset high speed USB device using ehci_hcd and address 5 usb 5-5: reset high speed USB device using ehci_hcd and address 5 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555382 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555622 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555638 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555878 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555382 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555382 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555382 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555382 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555382 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555382 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555382 sd 4:0:0:0: SCSI error: return code = 0x00070000 end_request: I/O error, dev sda, sector 555382 usb 5-5: USB disconnect, address 5 Buffer I/O error on device sda1, logical block 555032 lost page write due to I/O error on sda1 Przetestowałem również na Debianie i tam też bład wejścia/wyjścia Nie mam już pomysłów na to co to może być Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Hagil Napisano Marzec 26, 2007 Autor Zgłoszenie Share Napisano Marzec 26, 2007 Zna się ktoś na regułach udev? po wpisaniu: udevinfo -a -p `udevinfo -q path -n /dev/sda` wyskakuje to: Udevinfo starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/block/sda': KERNEL=="sda" SUBSYSTEM=="block" SYSFS{stat}==" 2264 57558 69177 10275 1 0 1 168 0 9717 10443" SYSFS{size}=="4088832" SYSFS{removable}=="1" SYSFS{range}=="16" SYSFS{dev}=="8:0" looking at parent device '/devices/pci0000:00/0000:00:10.4/usb5/5-5/5-5:1.0/host2/target2:0:0/2:0:0:0': ID=="2:0:0:0" BUS=="scsi" DRIVER=="sd" SYSFS{ioerr_cnt}=="0x1" SYSFS{iodone_cnt}=="0x913" SYSFS{iorequest_cnt}=="0x913" SYSFS{iocounterbits}=="32" SYSFS{timeout}=="60" SYSFS{state}=="running" SYSFS{rev}=="1.00" SYSFS{model}=="USB MP3 " SYSFS{vendor}=="RockChip" SYSFS{scsi_level}=="3" SYSFS{type}=="0" SYSFS{queue_type}=="none" SYSFS{queue_depth}=="1" SYSFS{device_blocked}=="0" SYSFS{max_sectors}=="240" looking at parent device '/devices/pci0000:00/0000:00:10.4/usb5/5-5/5-5:1.0/host2/target2:0:0': ID=="target2:0:0" BUS=="" DRIVER=="" looking at parent device '/devices/pci0000:00/0000:00:10.4/usb5/5-5/5-5:1.0/host2': ID=="host2" BUS=="" DRIVER=="" looking at parent device '/devices/pci0000:00/0000:00:10.4/usb5/5-5/5-5:1.0': ID=="5-5:1.0" BUS=="usb" DRIVER=="usb-storage" SYSFS{modalias}=="usb:v071Bp3203d0100dc00dsc00dp00ic08isc06ip50" SYSFS{bInterfaceProtocol}=="50" SYSFS{bInterfaceSubClass}=="06" SYSFS{bInterfaceClass}=="08" SYSFS{bNumEndpoints}=="02" SYSFS{bAlternateSetting}==" 0" SYSFS{bInterfaceNumber}=="00" looking at parent device '/devices/pci0000:00/0000:00:10.4/usb5/5-5': ID=="5-5" BUS=="usb" DRIVER=="usb" SYSFS{maxchild}=="0" SYSFS{version}==" 2.00" SYSFS{devnum}=="4" SYSFS{speed}=="480" SYSFS{bMaxPacketSize0}=="64" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="00" SYSFS{bcdDevice}=="0100" SYSFS{idProduct}=="3203" SYSFS{idVendor}=="071b" SYSFS{bMaxPower}=="400mA" SYSFS{bmAttributes}=="80" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" SYSFS{configuration}=="" looking at parent device '/devices/pci0000:00/0000:00:10.4/usb5': ID=="usb5" BUS=="usb" DRIVER=="usb" SYSFS{serial}=="0000:00:10.4" SYSFS{product}=="EHCI Host Controller" SYSFS{manufacturer}=="Linux 2.6.20-1.2933.fc6 ehci_hcd" SYSFS{maxchild}=="8" SYSFS{version}==" 2.00" SYSFS{devnum}=="1" SYSFS{speed}=="480" SYSFS{bMaxPacketSize0}=="64" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="01" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="09" SYSFS{bcdDevice}=="0206" SYSFS{idProduct}=="0000" SYSFS{idVendor}=="0000" SYSFS{bMaxPower}==" 0mA" SYSFS{bmAttributes}=="e0" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" SYSFS{configuration}=="" looking at parent device '/devices/pci0000:00/0000:00:10.4': ID=="0000:00:10.4" BUS=="pci" DRIVER=="ehci_hcd" SYSFS{msi_bus}=="" SYSFS{broken_parity_status}=="0" SYSFS{enable}=="1" SYSFS{modalias}=="pci:v00001106d00003104sv00001043sd000080EDbc0Csc03i20" SYSFS{local_cpus}=="ffffffff" SYSFS{irq}=="17" SYSFS{class}=="0x0c0320" SYSFS{subsystem_device}=="0x80ed" SYSFS{subsystem_vendor}=="0x1043" SYSFS{device}=="0x3104" SYSFS{vendor}=="0x1106" looking at parent device '/devices/pci0000:00': ID=="pci0000:00" BUS=="" DRIVER=="" Chodzi mi o to, aby zmienić (dać regułę) do udev: SYSFS{max_sectors}=="240" na: SYSFS{max_sectors}=="128" Doczytałem że to może pomóc, ale moje próby nie powiodły się, a próbowałem dodawać przez dodanie pliku z regułą do katalogu: /etc/udev/rules.d/, ale chyba coś źle robie. Zna się ktoś na regułach udev, kto mógłby mi pomóc? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Hagil Napisano Marzec 29, 2007 Autor Zgłoszenie Share Napisano Marzec 29, 2007 Problem po części rozwiązany. Sprawa się tyczy, że Linux chce przesyłać dane do i z odtwarzacza w zbyt dużych porcjach jak dla tego odtwarzacza. Domyślą max_sectors w Linuksie to 240. Jeśli odtwarzacz lub ogólnie pamięć usb nam się sama wymontowuje to należy: 1. Sprawdzić max_sectors przez wydanie komendy (dla sda) : cat /sys/block/sda/device/max_sectors 2. Następnie możemy zmienić po zalogowaniu się na roota echo 128 >/sys/block/sdb/device/max_sectors Mi wystarczyło ograniczenie do 128, ale jeśli to nie pomoże można spróbować z niższymi wartościami Niestety nie wiem jak zrobić żeby automatycznie zmieniało to po wykryciu playera, ale można wreszcie korzystać pod Linuksem z niego. Mam nadzieje że mój opis komuś się przyda ps. Dzięki Daniello za podpowiedz komend które przydały mi się do zidentyfikowania problemu Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jplc Napisano Marzec 29, 2007 Zgłoszenie Share Napisano Marzec 29, 2007 w przypadku mojego mplayer'a (sprawdzałem na kilku XP i 2K) znikanie spowodowane jest wydajnością USB (400mA), a nie systemem; z FC6 i USB na PCI zachowuje się względnie ok, może masz podobny problem z słabymi portami, a nie systemem? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Hagil Napisano Marzec 30, 2007 Autor Zgłoszenie Share Napisano Marzec 30, 2007 To jest spowodowane systemem, i opisałem jak zrobić żeby działało opisałem w poprzednim moim poście. Na moim komputerze specjalnie zainstalowałem WinXP aby sprawdzić czy to player, czy system, i tam nie miałem takich problemów. Jak już pisałem rozwiązanie podałem w moim poprzednim poście. Pozdrawiam Hagil ps. Oto link do strony traktującej o USB w Linuksie (strona po angielsku): Linux USB FAQ Edit 26.12.2008 Dziś podłączyłem opisywany player pod Fedore 8 i okazało się że już działa poprawie, bez wpisywania żadnych komend Zapewno coś gdzieś poprawili i wykrywa wartość max_sectors poprawnie Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się