Fórum Root.cz
Hlavní témata => Hardware => Téma založeno: Petr Nosek 10. 02. 2012, 16:50:13
-
Dobrý den,
chci se zeptat na Váš názor případně požádat o nasměrování.
Mám zařízení Router Station Pro (AMR 600MHz), kde provozuji DebWRT (Open Wrt křížený s Debianem). Zařízení má jeden USB port. Na tomto USB portu mám připojený aktivní USB hub, abych mohl připojit více zařízení. Na dvou portech USB hubu je připojený USB disk a na jednom portu je připojena DVB-T karta.
Můj záměr: mít stále běžící nízkoenergetický server, který umožňuje streamování či nahrávání tv + fileserver.
USB disk je šifrovaný (LUKS). Na stream a nahrávání DVB-T používám TvHeadEnd.
Záměr prakticky vyšel a jednotlivé věci fungují. Problém nastává ve chvíli, kdy provádím nahrávání DVB-T streamu na USB disk a zároveň z USB disku kopíruji nějaký jiný film na jiné zařízení v síti. Ne hned, ale například v 35% kopírování dojde k pádu disku.
Výpis z dmesg:
Feb 6 22:01:57 debwrt kernel: sd 1:0:0:0: [sdb] Unhandled error code
Feb 6 22:01:57 debwrt kernel: sd 1:0:0:0: [sdb] Result: hostbyte=0x07 driverbyte=0x00
Feb 6 22:01:57 debwrt kernel: sd 1:0:0:0: [sdb] CDB: cdb[0]=0x28: 28 00 08 20 10 07 00 00 08 00
Feb 6 22:01:57 debwrt kernel: usb 1-1.1: USB disconnect, address 4
Feb 6 22:01:57 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:01:57 debwrt kernel: usb 1-1.1: new high speed USB device using ar71xx-ehci and address 6
Feb 6 22:01:57 debwrt kernel: usb 1-1.1: New USB device found, idVendor=04b4, idProduct=6830
Feb 6 22:01:57 debwrt kernel: usb 1-1.1: New USB device strings: Mfr=56, Product=58, SerialNumber=60
Feb 6 22:01:57 debwrt kernel: usb 1-1.1: Product:
Feb 6 22:01:57 debwrt kernel: usb 1-1.1: Manufacturer:
Feb 6 22:01:57 debwrt kernel: usb 1-1.1: SerialNumber: D
Feb 6 22:01:57 debwrt kernel: usb 1-1.1: configuration #1 chosen from 1 choice
Feb 6 22:01:57 debwrt kernel: scsi2 : SCSI emulation for USB Mass Storage devices
Feb 6 22:01:58 debwrt kernel: ------------[ cut here ]------------
Feb 6 22:01:58 debwrt kernel: WARNING: at fs/buffer.c:1159 0x8010758c()
Feb 6 22:01:58 debwrt kernel: Modules linked in: xt_multiport aes_generic ipt_MASQUERADE xt_state xt_mark xt_CONNMARK ipt_REJECT xt_recent xt_tcpudp ipt_LOG xt_limit iptable_mangle iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 iptable_filter ip_tables x_tables tun xts gf128mul sha256_generic dm_crypt dm_mod dvb_usb_dib0700 dib7000p dib7000m dib0070 dvb_usb input_core arc4 ecb mt2266 tuner_xc2028 dib8000 dib3000mc dibx000_common mxl5007t xc5000 ath5k s5h1411 mt2060 lgdt3305 mac80211 ath dvb_core cfg80211
Feb 6 22:01:58 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:01 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:02 debwrt kernel: scsi 2:0:0:0: Direct-Access WDC WD80 0VE-75HDT1 0000 PQ: 0 ANSI: 0
Feb 6 22:02:02 debwrt kernel: sd 2:0:0:0: [sdc] 156301488 512-byte logical blocks: (80.0 GB/74.5 GiB)
Feb 6 22:02:02 debwrt kernel: sd 2:0:0:0: [sdc] Write Protect is off
Feb 6 22:02:02 debwrt kernel: sdc: sdc1 sdc2
Feb 6 22:02:02 debwrt kernel: sd 2:0:0:0: [sdc] Attached SCSI disk
Feb 6 22:02:03 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:03 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:03 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:03 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:03 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:03 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:03 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:03 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:03 debwrt kernel: lost page write due to I/O error on dm-0
Feb 6 22:02:03 debwrt kernel: lost page write due to I/O error on dm-0
Samotný disk se jeví jako v pořádku. Pokud neprovádím tyto oprace najednou, tak všechno funguje. Disk jsem připojoval i k notebooku, provedl jsem několik zátěžových testů a vše běželo.
Osobně si myslím, že dojde k pádu kvůli nízké propustnosti USB - protože běží 2 náročné zařízení na jednom USB - disk a DVB-T karta. Očekával jsem, že pokud se sníží propustnost USB kanálu, tak se zpomalí třeba kopírování než aby došlo k pádu.
Disk je 80 GB - ATA v USB redukci. Je to 2.5 ze staršího notebooku.
Můžete mi můj předpoklad potvrdit nebo vyvrátit? Ještě mě napadá, že může být problém v napájení nebo rychlosti disku. Kdybych koupil nový USB 1TB disk s jedním USB, tak by to problém možná vyřešilo. Máte s tím nějaké zkušenosti? Případně můžete mě navést jak prokázat některou z hypotéz?
Děkuji.
-
Tipnul bych si na
https://access.redhat.com/kb/docs/DOC-64556.pdf
Viz poslední příznak - timeout příkazu WRITE
Zde http://www.linuxquestions.org/questions/debian-26/usb-hd-errors-loses-read-write-as-user-and-other-problems-647781/ to například dělal zapnutý standby. Ale v tvém případě bych si tipoval na přetížené usb. Můžeš ověřit přes lsusb -v, zda ta tv karta jede v isochronním režimu? Ten má přednost před bulk režimem používaným diskem.
Možná se zkus podívat, jestli nejde příslušný usb modul spustit s nějakým debug parametrem, nebo jestli to nejde předat jádru - pokud bys to v debwrt uměl.
-
díky za tipy, prozatím jsem prošel výpis lsusb. U TV karty isochronní režim nevidím.
Bus 001 Device 005: ID 0413:6f00 Leadtek Research, Inc. WinFast DTV Dongle (STK7700P based)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0413 Leadtek Research, Inc.
idProduct 0x6f00 WinFast DTV Dongle (STK7700P based)
bcdDevice 1.00
iManufacturer 1 DIBCOM
iProduct 2 STK7700
iSerial 3 0000000001
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 11776
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 4
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x4000 1x 0 bytes
bInterval 10
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 1
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
-
ještě začínám mít podezření i na špatný disk. Dnes jsem nic nenahrával, otevřel jsem pouze složku se záznamy a najednou byla prázdná. Dal jsem dmesg a výstup byl takovýto.
Feb 10 21:39:04 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:04 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:04 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:08 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:08 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:08 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:26 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:26 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:26 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:54 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:54 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:39:55 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:40:30 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
Feb 10 21:40:30 debwrt kernel: EXT3-fs error (device dm-0): htree_dirblock_to_tree: bad entry in directory #2498611: rec_len % 4 != 0 - offset=80, inode=500870873, rec_len=21861, name_len=197
ideální by byl výstup ze smartctl. Výstup ze smartctl bohužel nedostanu, protože disk je v USB rámečku. Buď disk namontuju do notasu a spustim smartctl nebo vezmu jiny disk a vyzkousim nejaky zatezovy test. Jinak chybovost disku asi nebudu moct vyloucit.
root@debwrt:/home/nosek# smartctl --all /dev/sdb1
smartctl 5.40 2010-07-12 r3124 [mips-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
Device: WDC WD80 0VE-75HDT1 Version: 0000
Serial number: W -D
Device type: disk
Local Time is: Sat Feb 11 00:45:57 2012 CET
Device does not support SMART
Error Counter logging not supported
Device does not support Self Test logging
viz:
http://forums.gentoo.org/viewtopic-t-864857-start-0.html (http://forums.gentoo.org/viewtopic-t-864857-start-0.html)