LinuxSir.cn,穿越时空的Linuxsir!

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

Creative Sound Blaster Live 5.1 SB0220或emu10k1造成死机?

[复制链接]
发表于 2008-3-4 00:46:28 | 显示全部楼层 |阅读模式
这个声卡,如果内核选上 Emu10k1 (SB Live!, Audigy, E-mu APS)
启动的时候检测硬件的时候会死机,如编译为模块就迟一些,到udev的时候才死机。试过屏蔽掉主板上集成声卡,也试过不屏蔽的,情况一样。没有把emu10k1编译进内核的时候,很正常。

主板集成cmi8738 MSI的主板,目前在windows下两声卡都工作正常,除步排除硬件问题。

用gentoo的livecd及ubuntu的livecd启动,都有类似的问题。

有经验的请指教。
发表于 2008-3-4 08:28:03 | 显示全部楼层
我也是SB live的卡,和你一模一样没有碰到问题.
我直接把模块编译进内核的
回复 支持 反对

使用道具 举报

发表于 2008-3-4 09:59:47 | 显示全部楼层
我一直用Sound Blaster Live Audigy几年了,没出现过这个问题
你的内核版本?我一直升级用过多个版本(2.4、2.6的都用过)没出现过问题,把你的内核配置贴上来大家参考参考吧。
回复 支持 反对

使用道具 举报

发表于 2008-3-4 12:06:44 | 显示全部楼层
我也用Audigy,一样没什么问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-4 22:08:01 | 显示全部楼层
部分配置如下

  1. #
  2. # Advanced Linux Sound Architecture
  3. #
  4. CONFIG_SND=m
  5. CONFIG_SND_TIMER=m
  6. CONFIG_SND_PCM=m
  7. CONFIG_SND_HWDEP=m
  8. CONFIG_SND_RAWMIDI=m
  9. CONFIG_SND_SEQUENCER=m
  10. CONFIG_SND_SEQ_DUMMY=m
  11. CONFIG_SND_OSSEMUL=y
  12. CONFIG_SND_MIXER_OSS=m
  13. CONFIG_SND_PCM_OSS=m
  14. # CONFIG_SND_PCM_OSS_PLUGINS is not set
  15. # CONFIG_SND_SEQUENCER_OSS is not set
  16. # CONFIG_SND_RTCTIMER is not set
  17. # CONFIG_SND_DYNAMIC_MINORS is not set
  18. # CONFIG_SND_SUPPORT_OLD_API is not set
  19. # CONFIG_SND_VERBOSE_PROCFS is not set
  20. # CONFIG_SND_VERBOSE_PRINTK is not set
  21. # CONFIG_SND_DEBUG is not set

  22. #
  23. # Generic devices
  24. #
  25. CONFIG_SND_MPU401_UART=m
  26. CONFIG_SND_AC97_CODEC=m
  27. # CONFIG_SND_DUMMY is not set
  28. CONFIG_SND_VIRMIDI=m
  29. CONFIG_SND_MTPAV=m
  30. CONFIG_SND_MTS64=m
  31. CONFIG_SND_SERIAL_U16550=m
  32. CONFIG_SND_MPU401=m
  33. # CONFIG_SND_PORTMAN2X4 is not set

  34. #


  35. #
  36. # PCI devices
  37. #
  38. # CONFIG_SND_AD1889 is not set
  39. # CONFIG_SND_ALS300 is not set
  40. # CONFIG_SND_ALS4000 is not set
  41. # CONFIG_SND_ALI5451 is not set
  42. # CONFIG_SND_ATIIXP is not set
  43. # CONFIG_SND_ATIIXP_MODEM is not set
  44. # CONFIG_SND_AU8810 is not set
  45. # CONFIG_SND_AU8820 is not set
  46. # CONFIG_SND_AU8830 is not set
  47. # CONFIG_SND_BT87X is not set
  48. # CONFIG_SND_CA0106 is not set
  49. # CONFIG_SND_CMIPCI is not set
  50. # CONFIG_SND_CS4281 is not set
  51. # CONFIG_SND_CS46XX is not set
  52. # CONFIG_SND_CS5530 is not set
  53. # CONFIG_SND_CS5535AUDIO is not set
  54. # CONFIG_SND_DARLA20 is not set
  55. # CONFIG_SND_GINA20 is not set
  56. # CONFIG_SND_LAYLA20 is not set
  57. # CONFIG_SND_DARLA24 is not set
  58. # CONFIG_SND_GINA24 is not set
  59. # CONFIG_SND_LAYLA24 is not set
  60. # CONFIG_SND_MONA is not set
  61. # CONFIG_SND_MIA is not set
  62. # CONFIG_SND_ECHO3G is not set
  63. # CONFIG_SND_INDIGO is not set
  64. # CONFIG_SND_INDIGOIO is not set
  65. # CONFIG_SND_INDIGODJ is not set
  66. CONFIG_SND_EMU10K1=m
  67. # CONFIG_SND_EMU10K1X is not set
  68. # CONFIG_SND_ENS1370 is not set
  69. # CONFIG_SND_ENS1371 is not set
  70. # CONFIG_SND_ES1938 is not set
  71. # CONFIG_SND_ES1968 is not set
  72. # CONFIG_SND_FM801 is not set
  73. # CONFIG_SND_HDA_INTEL is not set
  74. # CONFIG_SND_HDSP is not set
  75. # CONFIG_SND_HDSPM is not set
  76. # CONFIG_SND_ICE1712 is not set
  77. # CONFIG_SND_ICE1724 is not set
  78. # CONFIG_SND_INTEL8X0 is not set
  79. # CONFIG_SND_INTEL8X0M is not set
  80. # CONFIG_SND_KORG1212 is not set
  81. # CONFIG_SND_MAESTRO3 is not set
  82. # CONFIG_SND_MIXART is not set
  83. # CONFIG_SND_NM256 is not set
  84. # CONFIG_SND_PCXHR is not set
  85. # CONFIG_SND_RIPTIDE is not set
  86. # CONFIG_SND_RME32 is not set
  87. # CONFIG_SND_RME96 is not set
  88. # CONFIG_SND_RME9652 is not set
  89. # CONFIG_SND_SONICVIBES is not set
  90. # CONFIG_SND_TRIDENT is not set
  91. # CONFIG_SND_VIA82XX is not set
  92. # CONFIG_SND_VIA82XX_MODEM is not set
  93. # CONFIG_SND_VX222 is not set
  94. # CONFIG_SND_YMFPCI is not set

复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2008-3-5 20:55:54 | 显示全部楼层
NF4主板和SBlive!有兼容性问题.这个我用MS WinXP也是一样的.
nF5是不是有这种问题就没有发言权了.我用Audigy2 zs一切安好
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-5 23:12:53 | 显示全部楼层
Post by tpxc;1822780
我也是SB live的卡,和你一模一样没有碰到问题.
我直接把模块编译进内核的


可能我的卡有问题,目前不清楚。

内核版本: sys-kernel/gentoo-sources-2.6.23-r8
多次配置未能解决问题,发现ALSA可以单独打开调试信息,试试看。
配置内核,开启全部ALSA调试功能,在死机前最后输出几行如下:


  1. ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 19(level, low) -> IRQ 19
  2. ALSA sound/pci/emu10k1/emu10k1_main.c : 1638 :  vendor=0x1102, device=0x2, [b][color="Red"]subsystem_vendor_id=0x11011102[/color][/b], subsystem_id=0x1101
  3. ALSA sound/pci/emu10k1/emu10k1_main.c : 1669 : Sound card name = SB Live [unknown], vendor=0x1102, device=0x2, subsystem=0x1101102
复制代码



声卡识别不正确,本来内核已经有支持SB0220的驱动,但是读出来的声卡类型是unknown.
sound/pci/emu10k1/emu10k1_main.c : 1638 行附近,发现subsystem_vendor_id这个值是从声卡读出来的。

[color="Red"]subsystem_vendor_id=0x11011102 对应于下面snd_emu_chip_details的subsystem,
从PCI配置寄存器0x2c~0x2f读得
0x2c~0x2d subsystem_vendor_id
0x2c~0x2d subsystem_id
下面结构定义的subsystem为 subsystem_vendor_id + subsystem_id

sound/pci/emu10k1/emu10k1_main.c 中有关SB0220的定义如下:

  1. static struct snd_emu_chip_details emu_chip_details[] = {

  2.         /* Tested by ALSA bug#1680 26th December 2005 */
  3.         /* note: It really has SB0220 written on the card. */
  4.         {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80661102,
  5.          .driver = "EMU10K1", .name = "SB Live 5.1 Dell OEM [SB0220]",
  6.          .id = "Live",
  7.          .emu10k1_chip = 1,
  8.          .ac97_chip = 1,
  9.          .sblive51 = 1} ,
  10.         /* Tested by Thomas Zehetbauer 27th Aug 2005 */
  11.         {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80651102,
  12.          .driver = "EMU10K1", .name = "SB Live 5.1 [SB0220]",
  13.          .id = "Live",
  14.          .emu10k1_chip = 1,
  15.          .ac97_chip = 1,
  16.          .sblive51 = 1} ,
  17.         {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x100a1102,
  18.          .driver = "EMU10K1", .name = "SB Live 5.1 [SB0220]",
  19.          .id = "Live",
  20.          .emu10k1_chip = 1,
  21.          .ac97_chip = 1,
  22.          .sblive51 = 1} ,

  23.         /*[Article Author]系统unknown的创新声卡定义*/

  24.         {.vendor = 0x1102, .device = 0x0002,
  25.          .driver = "EMU10K1", .name = "SB Live [Unknown]",
  26.          .id = "Live",
  27.          .emu10k1_chip = 1,
  28.          .ac97_chip = 1,
  29.          .sblive51 = 1} ,
  30.         ....
复制代码


lspci -xxx 读出来的配置寄存器subsystem的确是0x11011102



  1. 02:03.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 0a)
  2. 00: 02 11 02 00 05 00 90 02 0a 00 01 04 00 20 80 00
  3. 10: 01 d8 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  4. 20: 00 00 00 00 00 00 00 00 00 00 00 00 [color="Red"][b]02 11 01 11[/b][/color]
  5. 30: 00 00 00 00 dc 00 00 00 00 00 00 00 0a 01 02 14
  6. 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  7. 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  8. 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  9. 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  10. 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  11. 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  12. a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  13. b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  14. c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  15. d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 06
  16. e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  17. f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

  18. 02:03.1 Input device controller: Creative Labs SB Live! Game Port (rev 0a)
  19. 00: 02 11 02 70 05 00 90 02 0a 00 80 09 00 20 80 00
  20. 10: 01 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  21. 20: 00 00 00 00 00 00 00 00 00 00 00 00 02 11 20 00
  22. 30: 00 00 00 00 dc 00 00 00 00 00 00 00 00 00 00 00
  23. 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  24. 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  25. 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  26. 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  27. 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  28. 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  29. a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  30. b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  31. c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  32. d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 06
  33. e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  34. f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

  35. ....

复制代码


tpxc 确认下声卡型号,如果是一样的,能把你的声卡用
lspci -xxx 读PCI配置寄存器出来参考吗?

声卡:
http://www.soomal.com/gb/001/007/00000005.htm

谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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