Hans du Plooy wrote:
Hi guys,
I've been following this list for a bit while I planned my 64bit upgrade, never got around to it, unsubscribed, and eventually got myself a 64bit notebook - HP nx6125 Turion64 - very similar to many of the Acer Turion64 notebooks.
I initially tried SUSE 10.0 64bit, but too many things just didn't work. Onboard broadcom wireless kind of worked with ndiswrapper, but unstable as hell and made the notebook hang from time to time. PCMCIA didn't work at all so I couldn't use my Netgear PCMCIA card either. Many other little insignificant (but collectively annoying) problems. I reckon that too many things weren't supported in the versions of various bits that came with SUSE, and trying to update everything I made more of a mess than anything else.
After a month or so I reluctantly started building Gentoo 64bit, and after another two months of tinkering it's running really nicely now. In fact, I'm really loving the package management (apart from having to compile everything but that's not too much of a hassle on this machine). But I've had no luck in resolving two issues - onboard gigabit controller won't work and I have serious sound issues with dmix and multiple sounds streams. Skype doesn't work at all, for example.
So I'm awaiting the next release of SUSE to try it out again. Does anybody have any experience with this notebook (or similar) on SUSE 64bit, maybe on the 10.1 pre-releases?
I'll include hardware info, for good measure.
Thanks Hans
--I hope I can offer solutions to your sound mixing, Broadcom wifi, and PCMCIA issues as I have resolved ALL of them on my 64-bit laptop. My response is lengthy, but it covers a lot, so it could be useful to others. I have a Compaq Presario R3000-series laptop. It is quite different than yours because it is based on nVidia's nForce3 chipset and it has an nVidia graphics card, but I think my configuration files can point you to the right direction. I have personally posted here about my trials and tribulations with sound mixing. I think I have resolved my sound mixing issues. I can be listening, say, to my favorite jazz station on 64-bit Amarok while I visit a web site with flash animation using my Firefox browser (which is a 32-bit application so it can invoke the flashplayer plugin, which is offered only as 32-bit binary). When this happens, the sound from 32-bit flashplayer will be MIXED with the sound of my 64-bit Amarok. And yes, I even got skype to work with sound mixing, albeit limbing (I would want to hear the incoming call ring while listening to Amarok!). The breakthrough came when, after repeated googling and surfing through the not-so-well-documented ALSA project documentation, I ran into the following two URLs (one of them is SuSE's and explicitly discusses how to sound-mix skype, but I would not know how to access it through the SuSE forums, and the other one is from Gentoo): http://www.novell.com/coolsolutions/feature/16675.html http://gentoo-wiki.com/HOWTO_ALSA_sound_mixer_aka_dmix The gist of the solution is this: You need more device types in your '/etc/asound.conf' (or '~/.asoundrc') than just dmix; you also need the "asym" type and "dsnoop" type; the latter handles the microphone input. Once you configure your '/etc/asound.conf' and/or '~/.asoundrc' file properly, AOSS (ALSA's OSS emulation layer, which intercepts sound calls of older, ALSA-agnostic programs, and routes them to dmix) will work like a charm with the exception of skype, despite what SuSE's advice says --at least that's what happened on my system. In order for this to work properly, the correct modules must also be loaded, so they should be declared in '/etc/modprobe.conf.local'. Below I provide my '/etc/asound.conf' and '/etc/modprobe.conf' files for reference. They will most probably need to be modified because your system uses a different chipset than mine, but I think you will get the idea. (My '/etc/asound.conf' file has a lot of lines with settings which are commented; this is so because I am still experimenting and this way I can change settings on the fly, issue 'rcalsasound stop' and then 'rcalsasound start' for the new settings to take effect.) Now to skype. Although SuSE's advice in the URL above was an eye opener for me, it did not work reliably on my system. I tried 'aoss skype &', 'linux32 aoss skype &', and 'aoss linux32 skype &', but the results were always the same: For a minute or so, the sound was fine and properly mixed, but then it became "crackling" and the utilization of my 2.2GHz AMD64 increased to 100%, as confirmed by 'top'; the speed governor also "pushed the pedal to the medal." I was never able to figure out what caused this. Since your system is based on a different chipset than mine, I think you should try this solution first (assuming, of course you have set up mixing properly). My solution to this issue with skype? You may not like this, but this is the best solution I have: artsdsp!!! I start skype with 'linux32 artsdsp skype &'. I get a bunch of warnings about inaccessible libraries, but it runs! The strangest thing --at least to me not being a guru-- is that THIS SOLUTION WORKS WITHOUT EVEN STARTING artsd!!!!!!! Why? I don't know! But it does! Now, if I call and hang up a couple of times, skype starts having trouble with sound, so I have to shut it down and restart it. However, in the typical scenario where I have my Amarok player running and skype on standby to accept calls, it has worked reliably: the call comes in, I hear the ring, I pick it up, and then I can talk for as long as I want without any problems. I can also initiate a call without problems. It is after I hang up once or twice that I may have to restart skype. I know arTs is no longer maintained, but that's what works for me now. Experimenting with the settings of dmix and dsnoop in my '/etc/asoundrc.conf' file, I found out that if I increase the buffer size too much, I get a device-busy error from skype. If you want to start the arTs dæmon (and as I said, I don't need to have it running!), you may do so with the command 'artsd -a alsa -D asymed -F 1024 -S 512 -l 3 -s 4 (run an 'artsd -h' to get help on these options; "asymed" is the name of the ALSA device of type asym declared in my '/etc/asound.conf'). arTS is on its way out. KDE no longer depends on it. (This is one reason I am trying to dump skype. It irritates me that people at this day and age write "linux friendly" software which uses OSS and is ALSA-agnostic!) The newer versions of MPlayer no longer support arTs output. And speaking of MPlayer (which in my system is a 32-bit application so it can easily utilize the w32 codecs), in the '/etc/mplayer/mplayer.conf' configuration file I have the following line enabled (uncommented): ao=alsa:device=asymed ("asymed" has been declared in '/etc/asound.conf'. Alternatively, in order to tell MPlayer to use the correct ALSA device, you may start it with '/usr/bin/mplayer -ao alsa:device=asymed ... '. Older versions of MPlayer require a slightly different syntax; I think "alsa9" instead of "alsa".) Other sound settings I am using: For Amarok, I chose xine for its engine; I selected Autodetect for the output. I have never been able to get gstreamer to work. For the gaim all-in-one instant messenger (handling ICQ, AIM, yahoo, MSN, jabber, ...), I use the Command method for sound output; I use '/usr/bin/aplay %s' for the command. That way, both Amarok and gaim work very well with sound mixing. In regards to the Broadcom wifi, I found Linuxant's solution superb. Check www.linuxant.com. Yes, I know, it is not free and many open-source purists may want to hang me. But it works. And, ultimately, I need my computer to do something useful for me (in my case number crunching on-the-go, but I also do not want to ignore the multimedia experience). And installation is browser-based and is a breeze. Make sure you get the latest drivers because about nine months ago I read that due to a quirk in the Broadcom wifi hardware, there were serious problems in systems with over 1 GB of RAM. One more thing: After I had problems with a Linuxant Winmodem driver on a 32-bit sytem, Linuxant pointed out to me that my troubles were caused by pre-emption because Windows drivers do not like preemption. I don't know how applicable this would be to a 64-bit wifi driver, but it may be an issue to keep in mind. (In my current 2.6.14 kernel I do not have full preemption enabled, but I have the "middle grade" preemption enabled; my Linuxant driver for the Broadcom wifi works just fine.) Concerning PCMCIA, it was perfectly well in my system. You may need to use the 'setpci' command to let your system know behind which subordinate PCI bus your PCMCIA is hiding. This is what 'lspci -v' says about my PCMCIA: 02:04.0 CardBus bridge: Texas Instruments PCI1620 PC Card Controller (rev 01) Subsystem: Hewlett-Packard Company: Unknown device 006d Flags: bus master, medium devsel, latency 168, IRQ 177 Memory at 00000000e0106000 (32-bit, non-prefetchable) [size=4K] Bus: primary=02, secondary=03, subordinate=06, sec-latency=176 Memory window 0: 50000000-51fff000 (prefetchable) Memory window 1: e0400000-e07ff000 I/O window 0: 00003000-000030ff I/O window 1: 00003400-000034ff 16-bit legacy interface ports at 0001 02:04.1 CardBus bridge: Texas Instruments PCI1620 PC Card Controller (rev 01) Subsystem: Hewlett-Packard Company: Unknown device 006d Flags: bus master, medium devsel, latency 168, IRQ 185 Memory at 00000000e0107000 (32-bit, non-prefetchable) [size=4K] Bus: primary=02, secondary=07, subordinate=0a, sec-latency=176 Memory window 0: 52000000-53fff000 (prefetchable) Memory window 1: e0c00000-e0fff000 I/O window 0: 00003800-000038ff I/O window 1: 00003c00-00003cff 16-bit legacy interface ports at 0001 In my '/etc/rc.d/boot.local' I have this: 'setpci -s 0:a.0 SUBORDINATE_BUS=0A'. (I found this on web pages about the laptop I have.) And in my '/etc/pcmcia/config.opts' file I have added, include port 0x00003000-0x000030ff, port 0x00003400-0x000034ff include memory 0x50000000-0x51fff000, memory 0xe0400000-0xe07ff000 include port 0x00003800-0x000038ff, port 0x00003c00-0x00003cff include memory 0x52000000-0x53fff000 , memory 0xe0c00000-0xe0fff000 However, I am not sure this file is used any more. As of SuSE 10 (and probably 9.3), all hotplugging events are handled uniformly (prior to that, hotplug handled USB and CARDBUS events, while cardctl handled PCMCIA events). This is one reason the old 'cardctl' command is not 'pccardctl'. I am not even sure whether the 'setpci' command described above has any effect any more because at startup I see these messages: ---------------------SNIP-------------------------- Mar 13 01:14:13 presario kernel: Yenta: Using CSCINT to route CSC interrupts to PCI Mar 13 01:14:13 presario kernel: Yenta: Routing CardBus interrupts to PCI Mar 13 01:14:13 presario kernel: Yenta TI: socket 0000:02:04.0, mfunc 0x01111d22, devctl 0x64 Mar 13 01:14:13 presario kernel: Yenta: ISA IRQ mask 0x0c78, PCI irq 177 Mar 13 01:14:13 presario kernel: Socket status: 30000086 Mar 13 01:14:13 presario kernel: pcmcia: parent PCI bridge I/O window: 0x3000 - 0x7fff Mar 13 01:14:13 presario kernel: pcmcia: parent PCI bridge Memory window: 0xe0100000 - 0xe17fffff Mar 13 01:14:13 presario kernel: pcmcia: parent PCI bridge Memory window: 0x50000000 - 0x53ffffff Mar 13 01:14:13 presario kernel: ACPI: PCI Interrupt 0000:02:04.1[B] -> Link [LNK2] -> GSI 18 (level, low) -> IRQ 185 Mar 13 01:14:13 presario kernel: Yenta: CardBus bridge found at 0000:02:04.1 [103c:006d] Mar 13 01:14:14 presario kernel: Yenta: Using CSCINT to route CSC interrupts to PCI Mar 13 01:14:14 presario kernel: Yenta: Routing CardBus interrupts to PCI Mar 13 01:14:14 presario kernel: Yenta TI: socket 0000:02:04.1, mfunc 0x01111d22, devctl 0x64 Mar 13 01:14:14 presario kernel: Yenta: ISA IRQ mask 0x0c78, PCI irq 185 Mar 13 01:14:14 presario kernel: Socket status: 30000006 Mar 13 01:14:14 presario kernel: pcmcia: parent PCI bridge I/O window: 0x3000 - 0x7fff Mar 13 01:14:14 presario kernel: pcmcia: parent PCI bridge Memory window: 0xe0100000 - 0xe17fffff Mar 13 01:14:14 presario kernel: pcmcia: parent PCI bridge Memory window: 0x50000000 - 0x53ffffff -----------------SNIP---------------------------------------- All these messages are output during system initialization, long before the setpci command in '/etc/rc.d/boot.local' is executed. Maybe I don't need this at all, but it has been there since Oct. 2004, when the earlier kernels definitely needed that. While, say, 'tail -n 100 -f /var/log/messages' is active, what messages do you get when you plug in your PCMCIA card? By no means do I proclaim to be a guru; I am merely relaying my experiences with the problems you described. I hope all this helps you. As I said, our laptops are based on different chipsets, but I think issues like asym and dsnoop transcend chipsets. My '/etc/asound.conf' and '/etc/modprobe.conf.local' files follow. The Gentoo-related URL above has example configurations for different chipsets and it may include yours. CF # /etc/asound.conf for nVidia nForce3 pcm.snd_card { type hw card 0 device 0 } ctl.snd_card { type hw card 0 } pcm.asymed { type asym playback.pcm "dmix" capture.pcm "dsnoop" } # An exclamation mark is used to override the (possible) keyword in the ALSA library pcm.!default { type plug slave.pcm "asymed" } pcm.!dmix { type dmix ipc_key 1024 # ipc_perm 0660 ipc_key_add_uid yes slave { pcm "hw:0,0" period_time 0 period_size 1024 buffer_size 8192 rate 48000 # rate 44100 } bindings { 0 0 1 1 } } pcm.!dsnoop { type dsnoop # ipc_key 5778293 ipc_key 2048 ipc_key_add_uid yes slave { pcm "hw:0,0" period_time 0 period_size 128 # period_size 512 # buffer_size 1024 buffer_size 2048 format S16_LE rate 48000 # rate 44100 } } pcm.jackplug { type plug slave { pcm "jack" } } # Jack devices are here for experimentation pcm.jack { type jack playback_ports { 0 alsa_pcm:playback_1 1 alsa_pcm:playback_2 } capture_ports { 0 alsa_pcm:capture_1 1 alsa_pcm:capture_2 } } # Needed for OSS emulation pcm.dsp0 { type plug slave.pcm "asymed" } # End of /etc/asound.conf # /etc/modprobe.conf.local # # please add local extensions to this file # options nvidia NVreg_Mobile=1 options nvidia NVreg_EnableAGPSBA=1 options nvidia NVreg_EnableAGPFW=1 # This sets up the ALSA and OSS portion alias char-major-116 snd alias char-major-14 soundcore # Replace "driver" with the driver for you soundcard alias snd-card-0 snd_intel8x0 alias sound-slot-0 snd-card-0 # The modem counts as second sound card alias snd-card-1 snd_intel8x0m alias sound-slot-1 snd-card-1 # Configure the OSS emulation layer alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss alias /dev/mixer snd-mixer-oss alias /dev/dsp snd-pcm-oss alias /dev/dsp0 snd-pcm-oss alias /dev/dsp1 snd-pcm-oss alias /dev/dsp-1 snd-pcm-oss alias /dev/midi snd-seq-oss # For /dev/dsp-1 alias sound-service-1-0 snd-mixer-oss alias sound-service-1-3 snd-pcm-oss alias sound-service-1-12 snd-pcm-oss # If you have more than 1 card, set this number to the correct value # The modem is considered a second sound card options snd cards_limit=2 options snd-pcm-oss nonblock_open=1 # Apparently for the Broadcom wifi alias wlan0 driverloader # End of /etc/modprobe.conf.local -- Running 64-bit Linux on AMD64