DMA-problem med compact flash till IDE-adapter
- dayzleaper
- Inlägg: 128
- Blev medlem: 15 januari 2007, 10:25:24
- Ort: Sundsvall
- Kontakt:
DMA-problem med compact flash till IDE-adapter
Var på Kjell & Co och köpte mig en compact flash till IDE-adapter samt ett Sandisk Ultra II-kort på 2 Gb som jag tänkte ha till en framtida HTPC.
Problemet är dock att jag inte får DMA att fungera, utan kortet körs endast i PIO-läge, vilket rätt drastiskt reducerar överföringshastigheten till runt 1,5 Mb/s.
Jag har hört att Sandisks kort bör stödja DMA-läge, så jag antar att det är adaptern som inte är korrekt kopplad.
Är det någon som kör en sån adapter som kan verifiera att Sandisks kort funkar med DMA? Vad är det som ska kopplas i adaptern för att DMA ska fungera som det ska?
Adaptern jag köpte är en http://www.kjell.com/?item=38365.
Problemet är dock att jag inte får DMA att fungera, utan kortet körs endast i PIO-läge, vilket rätt drastiskt reducerar överföringshastigheten till runt 1,5 Mb/s.
Jag har hört att Sandisks kort bör stödja DMA-läge, så jag antar att det är adaptern som inte är korrekt kopplad.
Är det någon som kör en sån adapter som kan verifiera att Sandisks kort funkar med DMA? Vad är det som ska kopplas i adaptern för att DMA ska fungera som det ska?
Adaptern jag köpte är en http://www.kjell.com/?item=38365.
Många såna där kort adaptrar stöder inte DMA utan endast PIO, så det har förmodligen inte med CF kortet att göra.
Edit: Som jag trodde, här har du samma kort på komplett med tillhörande kommentarer -> http://www.komplett.se/k/ki.aspx?sku=31 ... w=detailed
Edit: Som jag trodde, här har du samma kort på komplett med tillhörande kommentarer -> http://www.komplett.se/k/ki.aspx?sku=31 ... w=detailed
Nu känner jag mig lite dum men...
Hur/vart ser man vad den körs som?
Har allt ställt på "auto" i BIOS
Jag har nämligen köpt en likadan, enda skillnaden är att det är en hane-variant, plus 1GB SanDisk
Till mitt projekt har jag inte någon överhängande brådska i hårdvaran...
Men varje flaskhals man kan ta bort är ju välkommen...
Kör den med en Celeron 633MHz ock 256MHz minne...
INGA rörliga delar... förutom fläkt... den kanske försvinner dock...
Hur/vart ser man vad den körs som?
Har allt ställt på "auto" i BIOS
Jag har nämligen köpt en likadan, enda skillnaden är att det är en hane-variant, plus 1GB SanDisk
Till mitt projekt har jag inte någon överhängande brådska i hårdvaran...
Men varje flaskhals man kan ta bort är ju välkommen...
Kör den med en Celeron 633MHz ock 256MHz minne...
INGA rörliga delar... förutom fläkt... den kanske försvinner dock...
I windows ser du det om du högerklickar på enheten i enhetshanteraren och klickar på avancerat och söker reda på dma mode eller något sånt, i linux vilket jag antar att du kanske kör för prestandans skull kör du ett kommando som visar det, kommer inte ihåg vilket...
Edit: nu kom jag på det ... hdparm -i /dev/hdX där hdX är vilken enhet den ligger som, säkerligen hda i ditt fall... om du kollar efter PIO Modes: och DMA: modes så ser du vilka som stöds, den använder automatiskt högsta möjliga DMA, om inte dma finns används högsta PIO, borde vara 4 på det där kortet... Det läge som används är märkt med en asterisk.
Edit: nu kom jag på det ... hdparm -i /dev/hdX där hdX är vilken enhet den ligger som, säkerligen hda i ditt fall... om du kollar efter PIO Modes: och DMA: modes så ser du vilka som stöds, den använder automatiskt högsta möjliga DMA, om inte dma finns används högsta PIO, borde vara 4 på det där kortet... Det läge som används är märkt med en asterisk.
- dayzleaper
- Inlägg: 128
- Blev medlem: 15 januari 2007, 10:25:24
- Ort: Sundsvall
- Kontakt:
Efter en snabb koll på lite specifikationer och lite fipplande med multimetern så verkar det som att pinne 43 och 44 från compactflash-kontakten inte är anslutna för DMA.
För DMA ska pinne 43 vara ansluten till pinne 21 på IDE-kontakten, och pinne 44 till pinne 29 på IDE-kontakten.
Efter lite trial-and-error med lödkolven så visade det sig att pinne 44 är kopplad till Vcc, vilket ställer till det ganska bra. Vcc-banan på kretskortet till pinne 44 ligger under compactflash-kontakten.
Någon som har några bra idéer om hur man löser detta och "frigör" den? Det går inte att komma åt med en vanlig brytkniv.
För DMA ska pinne 43 vara ansluten till pinne 21 på IDE-kontakten, och pinne 44 till pinne 29 på IDE-kontakten.
Efter lite trial-and-error med lödkolven så visade det sig att pinne 44 är kopplad till Vcc, vilket ställer till det ganska bra. Vcc-banan på kretskortet till pinne 44 ligger under compactflash-kontakten.
Någon som har några bra idéer om hur man löser detta och "frigör" den? Det går inte att komma åt med en vanlig brytkniv.
- dayzleaper
- Inlägg: 128
- Blev medlem: 15 januari 2007, 10:25:24
- Ort: Sundsvall
- Kontakt:
Det löste sig hyfsat till slut. Efter mycket mätande och pillande lyckades jag bända loss pinne 43 och 44 på CF-kontakten och löda på två kablar på dem istället.
Det verkar funka rätt bra, även fast jag självklart lyckades få tenn mellan ett par andra pinnar också, som var ett h-vete att få bort. Linux hittar kortet och adaptern och aktiverar MWDMA2.
Med hdparm -t får jag nu 15.12 Mb/s, vilket får anses vara rätt bra för ett kort som enligt Sandisk ska klara 10/9 Mb/s. Det är i vilket fall betydligt bättre än 1.5 Mb/s som jag fick innan.
Så, lösningen på detta, ifall det är fler som vill konvertera:
Löd loss pinne 43 och 44 på CF-kontakten och böj dem så att de är "i luften". Det är ganska trångt, så skippa de fyra kopparna kaffe innan. En stadig hand och en smal spets på lödpennan behövs garanterat. Pilarna på kontakterna markerar pinne 1, för de som inte vet.
Pinout för IDE-kontakten
Pinout för Compact Flash-kontakten
Tyvärr fanns det ingen bild på CF-kontakten, så ni får lita på mig när jag säger att pinne 1-25 sitter på den övre raden, och pinne 26-50 på den undre.
Kabla pinne 43 och 44 till IDE-kontakten.
Pinne 43 på CF-kontakten ska kopplas till pinne 21 på IDE-kontakten (DMARQ).
Pinne 44 på CF-kontakten ska kopplas till pinne 29 på IDE-kontakten (DMACK).
Lägg slutligen ett lager epoxylim eller smältlim över lödningarna, så att pinnarna inte kortsluter något annat.
Nu återstår bara att lösa problemet att Windows inte använder DMA. Möjligen kan det vara för att jag lyckades pilla loss en av kondensatorerna på kortet, men är osäker.
Det verkar funka rätt bra, även fast jag självklart lyckades få tenn mellan ett par andra pinnar också, som var ett h-vete att få bort. Linux hittar kortet och adaptern och aktiverar MWDMA2.
Med hdparm -t får jag nu 15.12 Mb/s, vilket får anses vara rätt bra för ett kort som enligt Sandisk ska klara 10/9 Mb/s. Det är i vilket fall betydligt bättre än 1.5 Mb/s som jag fick innan.
Så, lösningen på detta, ifall det är fler som vill konvertera:
Löd loss pinne 43 och 44 på CF-kontakten och böj dem så att de är "i luften". Det är ganska trångt, så skippa de fyra kopparna kaffe innan. En stadig hand och en smal spets på lödpennan behövs garanterat. Pilarna på kontakterna markerar pinne 1, för de som inte vet.
Pinout för IDE-kontakten
Pinout för Compact Flash-kontakten
Tyvärr fanns det ingen bild på CF-kontakten, så ni får lita på mig när jag säger att pinne 1-25 sitter på den övre raden, och pinne 26-50 på den undre.
Kabla pinne 43 och 44 till IDE-kontakten.
Pinne 43 på CF-kontakten ska kopplas till pinne 21 på IDE-kontakten (DMARQ).
Pinne 44 på CF-kontakten ska kopplas till pinne 29 på IDE-kontakten (DMACK).
Lägg slutligen ett lager epoxylim eller smältlim över lödningarna, så att pinnarna inte kortsluter något annat.
Nu återstår bara att lösa problemet att Windows inte använder DMA. Möjligen kan det vara för att jag lyckades pilla loss en av kondensatorerna på kortet, men är osäker.
- dayzleaper
- Inlägg: 128
- Blev medlem: 15 januari 2007, 10:25:24
- Ort: Sundsvall
- Kontakt:
Stort tack för detta klargörande.
Jag har länge försökt att få CF-kort RAID att funka utan framgång. Har testat ett flertal RAID-kort och CF-kort.
Alla RAID-kort (utom ett) buggar när det inte går att köra DMA.
Trisst att det är så s*tans pillig lödning bara.
PS. adaptern är mycket billigare på Ebay, 3st för ca 80kr.
Jag såg det efter att köpt från Conrad, 1st för 250kr.
Finns även för att låssas vara 2,5" laptop hårddisk.
Jag har länge försökt att få CF-kort RAID att funka utan framgång. Har testat ett flertal RAID-kort och CF-kort.
Alla RAID-kort (utom ett) buggar när det inte går att köra DMA.
Trisst att det är så s*tans pillig lödning bara.
PS. adaptern är mycket billigare på Ebay, 3st för ca 80kr.
Jag såg det efter att köpt från Conrad, 1st för 250kr.
Finns även för att låssas vara 2,5" laptop hårddisk.
- dayzleaper
- Inlägg: 128
- Blev medlem: 15 januari 2007, 10:25:24
- Ort: Sundsvall
- Kontakt:
Jo, det funkar som sagt riktigt bra i Linux. Windows verkar dock ha lite problem. Visserligen spelar det ingen roll för mig, eftersom tanken med CF-adaptern var att bygga en HTPC eller en router, beroende på vad jag får lust/tid med härnäst.
Fast jag måste säga att jag irriterar mig en smula på att jag inte vet varför Windows jävlas...
Fast jag måste säga att jag irriterar mig en smula på att jag inte vet varför Windows jävlas...

- dayzleaper
- Inlägg: 128
- Blev medlem: 15 januari 2007, 10:25:24
- Ort: Sundsvall
- Kontakt: