LinuxSir.cn,穿越时空的Linuxsir!

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

NEC vesapro笔记本装声卡——自由的大鱼请进

[复制链接]
发表于 2005-10-20 14:37:55 | 显示全部楼层 |阅读模式
自由的大鱼你好!我的笔记本也是NEC versa,安装声卡遇到和你一样的问题,苦恼了很久,请问该怎么改ich.c那个文件呀?谢谢!
发表于 2005-12-21 16:33:54 | 显示全部楼层
抱歉,有段时间不来了,您的帖子刚看到。
我以前的笔记本是NEC versa, 声卡的问题,确实是通过修改ich.c这个文件,
然后重新编译内核就解决了,具体怎么解决的,因为机器不在手边,等我找到
那个机器查一查,然后告诉您吧。
回复 支持 反对

使用道具 举报

发表于 2005-12-23 11:38:53 | 显示全部楼层
楼主如果在,请贴出你机器上的ich.c的内容。我再告诉你改哪里。
因为我发现ich.c有不同的版本,不能确定你的机器上是什么版本。
回复 支持 反对

使用道具 举报

发表于 2006-4-21 15:45:30 | 显示全部楼层

问题解决了。

最近,我把我的笔记本重新安装了一下,装了最新的 FREEBSD6.0 发现6.0仍然不能解决这个问题,
不幸的是,我把原来的程序弄丢了,我只好凭记忆重新研究这个问题,一番周折,死机无数次后,终于再次解决了这个问题,把过程说给楼主,如果你还用  FREEBSD 的话,我想一定帮你搞定,因为,  因此放弃 FREEBSD 就太可惜了。

过程如下:

进行之前,务必备份系统,因为,可能因为失败而使系统崩溃。

1. 进入 /usr/src/sys/dec/sound/pci/  
2. vi ich.c
3.  找到如下代码,+号代表新增语句, 并注释掉部分语句。

static int
ich_init(struct sc_info *sc)
{
    u_int32_t stat;
+  u_int32_t cnt;
+  int sz;

    ich_wr(sc, ICH_REG_GLOB_CNT, ICH_GLOB_CTL_COLD, 4);
+  cnt = ich_rd(sc, ICH_REG_GLOB_CNT, 4);
+  cnt &= ~ICH_GLOB_CTL_COLD;
+  ich_wr(sc, ICH_REG_GLOB_CNT, cnt ,4);

    DELAY(600000);
    stat = ich_rd(sc, ICH_REG_GLOB_STA, 4);
   
+  cnt = ich_rd(sc, ICH_REG_GLOB_CNT, 4);
+  cnt |= ICH_GLOB_CTL_COLD;
+  ich_wr(sc, ICH_REG_GLOB_CNT, ICH_GLOB_CTL_COLD ,4);
   
    stat= ich_rd(sc, ICH_REG_GLOB_STA, 4);
    if ((stat & ICH_GLOB_STA_PCR) == 0) {
                /* ICH4/ICH5 may fail when busmastering is enabled. Continue */
//                if ((pci_get_devid(sc->dev) != ICH4ID) &&
//                    (pci_get_devid(sc->dev) != ICH5ID) &&
//                    (pci_get_devid(sc->dev) != ICH6ID)) {
//              return ENXIO;
//            }
        }
   
        ich_wr(sc, ICH_REG_GLOB_CNT, ICH_GLOB_CTL_COLD | ICH_GLOB_CTL_PRES, 4);

4.存盘
5.进入 /usr/src/sys/modules/sound/driver/ich
6.执行 $make
7.会生成一个文件:   snd_ich.ko
8.测试一下  $kldload ./snd_ich.ko
9.如果看到正确的提示信息,就OK了。
10.把这个文件复制到内核文件夹 $cp snd_ich.ko  /boot/kernel/
回复 支持 反对

使用道具 举报

发表于 2006-4-21 17:49:45 | 显示全部楼层
折腾了好多天,数次想放弃,但为了FREEBSD,我拼了,
最麻烦的是只要一句代码写错,一试机器必死机,只能关电源,

我这次把整个笔记本都给了FREEBSD,真棒!
回复 支持 反对

使用道具 举报

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

本版积分规则

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