Router Station Pro, nízká propustnost USB?

Petr Nosek

Router Station Pro, nízká propustnost USB?
« kdy: 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:

Kód: [Vybrat]
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.




dustin

Re:Router Station Pro, nízká propustnost USB?
« Odpověď #1 kdy: 10. 02. 2012, 23:00:57 »
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.

Petr Nosek

Re:Router Station Pro, nízká propustnost USB?
« Odpověď #2 kdy: 11. 02. 2012, 00:30:27 »
díky za tipy, prozatím jsem prošel výpis lsusb. U TV karty isochronní režim nevidím.

Kód: [Vybrat]
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)


Petr Nosek

Re:Router Station Pro, nízká propustnost USB?
« Odpověď #3 kdy: 11. 02. 2012, 00:51:16 »
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.

Kód: [Vybrat]
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.

Kód: [Vybrat]
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