LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1718|回复: 13

版主,大家快来帮帮忙呀,问题已经知道在那里了,可就搞不定呀-ACER5542本本DMA打不开!!

[复制链接]
发表于 2007-3-14 11:46:39 | 显示全部楼层 |阅读模式
配置:Slackware 11+Kernel 2.6.20.2、Core Duo T2300、512M、945+950、60G-ATA

这几天一直在弄,DMA的问题,内核也重新编绎过多次,ATA_PIIX也全部加入:

  1. #hdparm -i /dev/hda

  2. /dev/hda:

  3. Model=TOSHIBA MK6034GAX, FwRev=AC101A, SerialNo=16CO0574S
  4. Config={ Fixed }
  5. RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
  6. BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=16
  7. CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=117210240
  8. IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
  9. PIO modes:  pio0 pio1 pio2 pio3 pio4
  10. DMA modes:  sdma0 sdma1 sdma2 mdma0 mdma1 mdma2
  11. UDMA modes: udma0 udma1 *udma2
  12. AdvancedPM=yes: unknown setting WriteCache=enabled
  13. Drive conforms to: Unspecified:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6

  14. * signifies the current active mode

  15. #hdparm /dev/hda

  16. /dev/hda:
  17. multcount    = 16 (on)
  18. IO_support   =  3 (32-bit w/sync)
  19. unmaskirq    =  1 (on)
  20. using_dma    =  0 (off)
  21. keepsettings =  0 (off)
  22. readonly     =  0 (off)
  23. readahead    = 256 (on)
  24. geometry     = 16383/255/63, sectors = 117210240, start = 0

  25. #lspci |grep ATA
  26. 00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02)

复制代码


问题信息:

  1. #hdparm -d1 /dev/hda

  2. /dev/hda:
  3. setting using_dma to 1 (on)
  4. HDIO_SET_DMA failed: Operation not permitted
  5. using_dma    =  0 (off)
复制代码


看网上说可能与ALi芯片有关,可是kernel 2.6.20.2中关于intel SATA\ATA piix及ALi PATA的项(可以说是关于这些的项,我无论是不是Intel或ALi)全都编绎到内核中去了,还是打不开!

这后,听说suse对这些支持较好,所以用suse10.2的修复盘试了试(想判定问题是不是在PATA这块)。修复盘一引导,就认出硬盘为sda,说明已经正确识别了!

之后,从网上下载了suse的kerenl-source-2.6.18.8-0.1的rpm包(suse10.2所用),解包后,在pathches.fixes中找到libata-ata_piix-acer-aspire-fix:

  1. # more libata-ata_piix-acer-aspire-fix
  2. From: jakub007@go2.pl
  3. Subject: HDD on Acer Aspire 3682 WLMi limited to UDMA33
  4. References: 227477

  5. In Acer Aspire hdd is connected to ICH7 via 40c cable, however it is
  6. short cable and it is UDMA66 capable.

  7. Signed-off-by: Tejun Heo <teheo@novell.com>
  8. Signed-off-by: Hannes Reinecke <hare@suse.de>

  9. diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
  10. index 7959e4c..aadfcb3 100644
  11. --- a/drivers/ata/ata_piix.c
  12. +++ b/drivers/ata/ata_piix.c
  13. @@ -569,6 +569,7 @@ struct ich_laptop {
  14. static const struct ich_laptop ich_laptop[] = {
  15.         /* devid, subvendor, subdev */
  16.         { 0x27DF, 0x0005, 0x0280 },     /* ICH7 on Acer 5602WLMi */
  17. +       { 0x27DF, 0x1025, 0x0110 },     /* ICH7 on Acer 3682WLMi */
  18.         /* end marker */
  19.         { 0, }
  20. };
复制代码

按此内容进行修改后,还是无法正确认出硬盘!
之后,又对比其它几个patch,2.6.20.2的内核中匀已修复!!!

实在没有想法了,希望大家和版主帮帮忙呀!
不想因为这个而在本本上放弃slackware···至从使用slackware,就再也没有使用过其它了···
如果,大家需要其它信息,请回复,我将及时提供···
发表于 2007-3-15 14:29:38 | 显示全部楼层
没有dma又不会死人。这么着急干什么?
慢慢等,等Linux的新内核出来了,就好了。
要不就上google搜去。
回复 支持 反对

使用道具 举报

发表于 2007-3-15 15:09:30 | 显示全部楼层
楼上怎么可以这么说,没计算机都不会死人的。

你把lsmod的结果贴出来看一下。
回复 支持 反对

使用道具 举报

发表于 2007-3-15 19:24:46 | 显示全部楼层
Post by 石岩杰
没有dma又不会死人。这么着急干什么?
慢慢等,等Linux的新内核出来了,就好了。
要不就上google搜去。

没有计算机不会死人,但是没有dma真的会死人的,没有dma的运行速度那才是真正的龟速
回复 支持 反对

使用道具 举报

发表于 2007-3-15 23:43:06 | 显示全部楼层
公社还上不去吗?楼上的跑sir来了?呵呵
我曾在grub的启动参数里,加上dma=off
也没试出慢多少来啊?
楼上的拿计算机干什么呢?跑bt呢?还是天天emerge?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-16 13:56:57 | 显示全部楼层
seamonkey,昨天网络问题没有上,下面是我的lsmod结果:
  1. # lsmod
  2. Module                  Size  Used by
  3. i915                   20864  1
  4. drm                    69788  2 i915
  5. nls_utf8                2048  1
  6. isofs                  30780  1
  7. zlib_inflate           14464  1 isofs
  8. vmnet                  27044  13
  9. vmmon                 177484  0
  10. snd_seq_dummy           3084  0
  11. snd_seq_oss            29824  0
  12. snd_seq_midi_event      6144  1 snd_seq_oss
  13. snd_seq                46320  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
  14. snd_seq_device          6540  3 snd_seq_dummy,snd_seq_oss,snd_seq
  15. snd_pcm_oss            41536  0
  16. snd_mixer_oss          14848  1 snd_pcm_oss
  17. nfsd                  206192  13
  18. exportfs                4992  1 nfsd
  19. lockd                  59176  2 nfsd
  20. sunrpc                138940  8 nfsd,lockd
  21. ipv6                  231968  16
  22. nls_cp936             127232  2
  23. vfat                   10368  1
  24. fat                    46748  1 vfat
  25. capability              3596  0
  26. commoncap               5376  1 capability
  27. lp                     10152  0
  28. parport_pc             36196  0
  29. parport                30664  2 lp,parport_pc
  30. psmouse                35360  0
  31. pcmcia                 30764  0
  32. firmware_class          7680  1 pcmcia
  33. snd_hda_intel          16824  1
  34. snd_hda_codec         160176  1 snd_hda_intel
  35. rng_core                4484  0
  36. snd_pcm                69900  3 snd_pcm_oss,snd_hda_intel,snd_hda_codec
  37. snd_timer              19720  2 snd_seq,snd_pcm
  38. i2c_i801                7180  0
  39. snd                    43620  11 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer
  40. yenta_socket           23708  1
  41. soundcore               6112  1 snd
  42. rsrc_nonstatic         11148  1 yenta_socket
  43. snd_page_alloc          7816  2 snd_hda_intel,snd_pcm
  44. pcmcia_core            33852  3 pcmcia,yenta_socket,rsrc_nonstatic
  45. ehci_hcd               30104  0
  46. b44                    22928  0
  47. uhci_hcd               21268  0
  48. evdev                   8320  0
  49. mii                     4992  1 b44
  50. shpchp                 29472  0
  51. pcspkr                  2816  0
  52. serio_raw               5764  0
复制代码

你是不是想看有没有piix、ide之类的模块?没有呀!
我的启动信息:
  1. Mar 16 13:41:54 kernel: intelfb: Cannot reserve FB region.
  2. Mar 16 13:41:54 kernel: floppy0: no floppy controllers found
  3. Mar 16 13:41:54 kernel: RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
  4. Mar 16 13:41:54 kernel: hda: TOSHIBA MK6034GAX, ATA DISK drive
  5. Mar 16 13:41:54 kernel: hdb: HL-DT-ST DVDRAM GSA-4082N, ATAPI CD/DVD-ROM drive
  6. Mar 16 13:41:54 kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
  7. Mar 16 13:41:54 kernel: ide-floppy driver 0.99.newide
  8. Mar 16 13:41:54 kernel: GDT-HA: Storage RAID Controller Driver. Version: 3.05
  9. Mar 16 13:41:54 kernel: GDT-HA: Found 0 PCI Storage RAID Controllers
  10. Mar 16 13:41:54 kernel: ata: 0x1F0 IDE port busy
  11. Mar 16 13:41:54 kernel: ata: conflict with ide0
  12. Mar 16 13:41:54 kernel: ATA: abnormal status 0x7F on port 0x177
  13. Mar 16 13:41:54 kernel: Using IPI Shortcut mode
  14. Mar 16 13:41:54 kernel: VFS: Mounted root (reiserfs filesystem) readonly.
  15. Mar 16 13:41:54 kernel: intel_rng: FWH not detected
  16. Mar 16 13:42:00 kernel: intel_rng: FWH not detected
  17. Mar 16 13:42:01 kernel: ATA: abnormal status 0x7F on port 0x177
  18. Mar 16 13:42:01 kernel: ATA: abnormal status 0x7F on port 0x177
  19. Mar 16 13:42:21 kernel: hda_intel: azx_get_response timeout, switching to polling mode...
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-3-16 15:21:42 | 显示全部楼层
我的dell也开不了dma。
本来想全部转到slack的,碰到很多莫名其妙的问题。
没时间折腾了,等有空了再看看。
回复 支持 反对

使用道具 举报

发表于 2007-3-16 15:25:32 | 显示全部楼层
如果加内核参数hda=noprobe呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-16 16:08:36 | 显示全部楼层
seamonkey,加参数hda=noprobe后,启动过程中出现错误:
  1. VFS: Cannot open root device "303" or unknown-block(3,3)
  2. Please append a correct "root=" boot option
  3. Kernel panic - not syncing: VFS: Unable to mount rooot fs on unknown-block(3,3)
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-3-16 17:05:30 | 显示全部楼层
没头绪,要么把config中的
ATA/ATAPI/MFM/RLL support
Serial ATA (prod) and Parallel ATA (experimental) drivers
的选项贴出来看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表