Stránka 1 z 1

Druhy "disk" do Eee PC 701 - problem s DMA

Napsal: 07 srp 2016, 23:01
od rnbw
Uvod:
Asus Eee PC 701 je prvy netbook na svete. Nema HDD, ale na doske je integrovane 4GB "SSD" - radic SM223 a 4ks flash, zapojene ako CF karta v IDE mode.

Na rozsirenie je pod spodnym krytom vedla RAM konektor FLASH_CON. Je to fyzicky mini PCI-e konektor, ale inak zapojeny - su tam vyvedene IDE signaly - vid priloha (zo schemy Eee PC 900, ale malo by to sediet).

Rozsirenie:
V mojom kuse nebol konektor osadeny, tak som ho tam pridal (zobral som z nejakeho vraku). Zohnal som si vhodny "SSD" - je to z ineho Eee PC, tiez 4 GB, radic je PHISON PS3006-L.

Oba "SSD" vidiet - povodny je MASTER, druhy je SLAVE. Problem je, ze ked je vlozeny druhy (SLAVE), prestane fungovat DMA na prvom (MASTER) - kernel hlasi "lost interrupt" a postupne znizuje rychlost z UDMA66. Ked konecne vypne DMA (dostane sa na PIO4), tak sa to rozbehne. Zaujimave je, ze DMA na druhom (SLAVE) disku vtedy funguje!

Skusil som prelepit paskou piny DREQ a DACK - vtedy prestalo fungovat DMA aj a druhom disku, ale problem s MASTERom zostal bez zmeny. Ked som prelepil IRQ, tak sa mi nepodarilo nabootovat - kernel sa donekonecna pokusal citat zo SLAVE disku, ale vyzeralo to tak, ze s MASTERom nebol problem.

Co s tym moze byt? Ze by ten SLAVE disk "zozral" IRQ pulz od MASTERa?

Napsal: 08 srp 2016, 08:59
od Standa99
Nejspíš se ty disky na sběrnici nedomluvily, když ten druhý zavinil propustnost toho prvního.
Kdysi někdo chtěl do Eee přidat disk přes redukci IDE->CF, tak jsem si vzpomněl (sešlo z toho). Tady má udělaný přepínač pro CSEL vnitřního nebo přidaného disku. Taky tam je odkaz, kde právě řeší zvýšení propustnosti propojováním pinů (nezkoumal jsem jakých, nebo jestli to přizemňuje). Jinde tam doporučuje i BIOS 1302.

Napsal: 08 srp 2016, 09:18
od rnbw
CSEL interneho disku som nasiel podla datasheetu SM223, ten pin je pripojeny na zem, takze natvrdo MASTER. Menit to nechcem. CSEL druheho disku je nezapojeny - je tam miesto pre odpor na zem alebo na VCC - ale PS3006 ma interny pull-up, takze ho netreba.

Ak som to z prekladaca dobre pochopil, tak Rusi tam riesia detekciu 80-ziloveho kabla. S tym nemam problem, Linux ma tento model vo whiteliste, takze UDMA/66 funguje. Ale ked pridam ten druhy disk, tak UDMA funguje len na nom.

Nove zistenie - ak druhy disk zakazem v Linuxe (libata.force=2.1:disabled), tak UDMA interneho disku funguje!

Takto to nefunguje:

Kód: Vybrat vše

[    1.372511] libata version 3.00 loaded.
[    1.375674] ahci 0000:00:1f.2: version 3.0
[    1.375965] ahci 0000:00:1f.2: controller is in combined mode, can't enable AHCI mode
[    1.386327] ata_piix 0000:00:1f.2: version 2.13
[    1.386610] ata_piix 0000:00:1f.2: MAP [ P0 P2 IDE IDE ]
[    1.423355] scsi0 : ata_piix
[    1.432739] scsi1 : ata_piix
[    1.433108] ata1: SATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14
[    1.433218] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15
[    1.435074] [drm] Memory usable by graphics device = 256M
[    1.435190] [drm] Replacing VGA console driver
[    1.436941] Console: switching to colour dummy device 80x25
[    1.438339] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.438369] [drm] Driver supports precise vblank timestamp query.
[    1.439534] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    1.463713] [drm] initialized overlay support
[    1.616356] ata2.00: CFA: SILICONMOTION SM223AC, , max UDMA/66
[    1.616390] ata2.00: 7815024 sectors, multi 0: LBA
[    1.616416] ata2.01: CFA: ASUS-PHISON SSD, TST2.04U, max UDMA/66
[    1.616432] ata2.01: 7880544 sectors, multi 0: LBA
[    1.633197] ata2.00: configured for UDMA/66
[    1.637084] fbcon: inteldrmfb (fb0) is primary device
[    1.640288] ata2.01: configured for UDMA/66
[    1.640661] scsi 1:0:0:0: Direct-Access     ATA      SILICONMOTION SM n/a  PQ: 0 ANSI: 5
[    1.642067] scsi 1:0:1:0: Direct-Access     ATA      ASUS-PHISON SSD  .04U PQ: 0 ANSI: 5
[    1.700041] tsc: Refined TSC clocksource calibration: 630.064 MHz
[    2.584094] Console: switching to colour frame buffer device 100x30
[    2.640613] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    2.644187] i915 0000:00:02.0: registered panic notifier
[    2.647690] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[    2.670905] sd 1:0:0:0: [sda] 7815024 512-byte logical blocks: (4.00 GB/3.72 GiB)
[    2.678935] sd 1:0:0:0: [sda] Write Protect is off
[    2.682525] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.683957] sd 1:0:1:0: [sdb] 7880544 512-byte logical blocks: (4.03 GB/3.75 GiB)
[    2.690096] sd 1:0:1:0: [sdb] Write Protect is off
[    2.693654] sd 1:0:1:0: [sdb] Mode Sense: 00 3a 00 00
[    2.693758] sd 1:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    2.701162] sd 1:0:1:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    2.711783] Switched to clocksource tsc
[   32.872048] ata2: lost interrupt (Status 0x58)
[   32.876005] ata2: drained 65536 bytes to clear DRQ
[   32.955525] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[   32.959493] ata2.00: failed command: READ DMA
[   32.963405] ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[   32.971213] ata2.00: status: { DRDY }
[   32.975069] ata2: soft resetting link
[   33.164226] ata2.00: configured for UDMA/66
[   33.176224] ata2.01: configured for UDMA/66
[   33.179895] ata2.00: device reported invalid CHS sector 0
[   33.183586] ata2: EH complete
[   63.848050] ata2: lost interrupt (Status 0x58)
[   63.852005] ata2: drained 65536 bytes to clear DRQ
[   63.931326] ata2.00: limiting speed to UDMA/44:PIO4
[   63.935005] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[   63.938716] ata2.00: failed command: READ DMA
[   63.942430] ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[   63.949798] ata2.00: status: { DRDY }
[   63.953419] ata2: soft resetting link
[   64.144224] ata2.00: configured for UDMA/44
[   64.152225] ata2.01: configured for UDMA/66
[   64.155618] ata2.00: device reported invalid CHS sector 0
[   64.159035] ata2: EH complete
[   94.888050] ata2: lost interrupt (Status 0x58)
[   94.892005] ata2: drained 65536 bytes to clear DRQ
[   94.970957] ata2.00: limiting speed to UDMA/33:PIO4
[   94.974214] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[   94.977477] ata2.00: failed command: READ DMA
[   94.980607] ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[   94.986825] ata2.00: status: { DRDY }
[   94.989919] ata2: soft resetting link
[   95.180224] ata2.00: configured for UDMA/33
[   95.188224] ata2.01: configured for UDMA/66
[   95.191079] ata2.00: device reported invalid CHS sector 0
[   95.193990] ata2: EH complete
[  125.864051] ata2: lost interrupt (Status 0x58)
[  125.868005] ata2: drained 65536 bytes to clear DRQ
[  125.946485] ata2.00: limiting speed to PIO4
[  125.949324] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[  125.952348] ata2.00: failed command: READ DMA
[  125.955327] ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[  125.961491] ata2.00: status: { DRDY }
[  125.964596] ata2: soft resetting link
[  126.152224] ata2.00: configured for PIO4
[  126.160224] ata2.01: configured for UDMA/66
[  126.163057] ata2.00: device reported invalid CHS sector 0
[  126.165962] ata2: EH complete
[  126.170218]  sda: sda1 sda4
[  126.174713]  sdb: sdb1
[  126.177685] sda: detected capacity change from 0 to 4001292288
[  126.182155] sdb: detected capacity change from 0 to 4034838528
[  126.185277] sd 1:0:0:0: [sda] Attached SCSI disk
[  126.188286] sd 1:0:1:0: [sdb] Attached SCSI disk


A takto funguje:

Kód: Vybrat vše

[    1.353421] libata version 3.00 loaded.
[    1.373215] [drm] Memory usable by graphics device = 256M
[    1.373231] [drm] Replacing VGA console driver
[    1.374764] Console: switching to colour dummy device 80x25
[    1.380745] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.380759] [drm] Driver supports precise vblank timestamp query.
[    1.381866] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    1.409937] [drm] initialized overlay support
[    1.584597] fbcon: inteldrmfb (fb0) is primary device
[    1.684036] tsc: Refined TSC clocksource calibration: 630.065 MHz
[    2.584097] Console: switching to colour frame buffer device 100x30
[    2.590609] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    2.590617] i915 0000:00:02.0: registered panic notifier
[    2.590653] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[    2.590769] ahci 0000:00:1f.2: version 3.0
[    2.591015] ahci 0000:00:1f.2: controller is in combined mode, can't enable AHCI mode
[    2.594148] ata_piix 0000:00:1f.2: version 2.13
[    2.594430] ata_piix 0000:00:1f.2: MAP [ P0 P2 IDE IDE ]
[    2.655992] scsi0 : ata_piix
[    2.656611] scsi1 : ata_piix
[    2.656863] ata1: SATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14
[    2.656873] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15
[    2.684109] Switched to clocksource tsc
[    2.836344] ata2.00: CFA: SILICONMOTION SM223AC, , max UDMA/66
[    2.836356] ata2.00: 7815024 sectors, multi 0: LBA
[    2.836373] ata2.01: FORCE: horkage modified (disable)
[    2.836380] ata2.01: unsupported device, disabling
[    2.836386] ata2.01: disabled
[    2.852223] ata2.00: configured for UDMA/66
[    2.852566] scsi 1:0:0:0: Direct-Access     ATA      SILICONMOTION SM n/a  PQ: 0 ANSI: 5
[    2.869386] sd 1:0:0:0: [sda] 7815024 512-byte logical blocks: (4.00 GB/3.72 GiB)
[    2.869556] sd 1:0:0:0: [sda] Write Protect is off
[    2.869567] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.869643] sd 1:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    2.871934]  sda: sda1 sda4
[    2.873566] sd 1:0:0:0: [sda] Attached SCSI disk

Napsal: 08 srp 2016, 17:57
od keemo
sice trochu OT ale mal som eee901 s 4 GB (zmienovany Phison) a 8 GB a po vymene toho 8GB za 32 som chcel ze ten 4GB dam prec a kupodivu bez neho to zas nevidelo ani ten 32GB... takze tam musel zostat a dal som na neho image cisteho systemu ...

Napsal: 08 srp 2016, 18:11
od rnbw
Keby si dal ten 32 GB dovnutra namiesto toho interneho, tak by to podla mna fungovalo. Ten slot bude nastaveny ako MASTER (CSEL uzemneny), druhy je SLAVE. A SLAVE disk nemoze bez MASTERa fungovat.

Napsal: 08 srp 2016, 20:26
od Standa99
Jen ze zvědavosti, co když vypneš jen DMA na tom přidaném disku?

Napsal: 08 srp 2016, 20:50
od rnbw
To som skusal - ziadna zmena na MASTERi, tzn. nefunguje potom DMA nikde.

Napsal: 25 srp 2016, 21:36
od rnbw
Skusil som prehodit "disky", tzn. na internom som odstranil z CSEL na zem a na pridavnom som tento signal uzemnil. Ziadna zmena - DMA na internom "disku" nefunguje, na pridavnom ano...

Napsal: 25 srp 2016, 21:50
od Standa99
Jaký je u něj rozdíl v rychlosti s/bez DMA? Nestačilo by mít ten přidaný na systém a interní třeba na /home?

Napsal: 25 srp 2016, 21:59
od rnbw
IDE bez DMA je nepouzitelne kvoli vysokej zatazi CPU. Asi budem musiet zohnat nejake ine SSD. Alebo mSATA - na tom konektore su vyvedene aj SATA signaly (na standardnych poziciach). Akurat v BIOSe podporu SATA nevidim, ale to by vadit nemalo.