I would like to try and help if I could, but I am not familiar with your hardware, so I will need to speculate a bit.
I do note your Toshiba Satellite L670 has a Realtek ALC269 codec, running a 32-bit openSUSE-11.2 with the 2.6.31.5-0.1-desktop kernel, running version 1.0.20/1.0.21 of the alsa sound driver.
Surfing the web I note other users with this laptop has had the same problem, which appears to be because the 2.6.31.5 kernel’s alsa driver routines are not able to properly configure your laptop’s alsa driver upon boot (there is a bit of speculation in that statement from me). Hence what you could try to do is force a specific configuration into your alsa audio driver upon boot, so that you have the functionality that you wish.
I am not in front of a Linux PC right now, and so I do not have access to my notes. I think the model options for an ALC269 (based on a web surf) are (from the hd-audio-models.txt file that comes with the alsa driver documentation):
ALC269
======
basic Basic preset
quanta Quanta FL1
eeepc-p703 ASUS Eeepc P703 P900A
eeepc-p901 ASUS Eeepc P901 S101
fujitsu FSC Amilo
lifebook Fujitsu Lifebook S6420
auto auto-config reading BIOS (default)
I recommend you test each of those options, one at a time, to see if any work. Say you start with “basic”. To do this, then modify your /etc/modprobe.d/50-sound.conf file, by adding the line “options snd-hda-intel model=basic” that I propose at the start of that file so that it looks like:
options snd-hda-intel model=basic
options snd slots=snd-hda-intel,snd-hda-intel
# u1Nb.scBiORJNe+F:5 Series/3400 Series Chipset High Definition Audio
alias snd-card-0 snd-hda-intel
# NXNs.6kx3S2vBnFB:R700 Audio Device [Radeon HD 4000 Series]
alias snd-card-1 snd-hda-intel
save that change. Then restart your alsa sound driver by typing (as a regular user):
su -c 'rcalsasound restart'
and enter root password when prompted. Then restart your mixer (type ‘kmix’ if KDE and ‘alsamixer’ if Gnome).
And test your headset. If that does not work, in the /etc/modprobe.d/50-sound.conf file, replace “basic” with the next item in the hd-audio-models.txt file list for the ALC269 (which is “quanta”) such that the file looks like:
options snd-hda-intel model=quanta
options snd slots=snd-hda-intel,snd-hda-intel
# u1Nb.scBiORJNe+F:5 Series/3400 Series Chipset High Definition Audio
alias snd-card-0 snd-hda-intel
# NXNs.6kx3S2vBnFB:R700 Audio Device [Radeon HD 4000 Series]
alias snd-card-1 snd-hda-intel
, and save the change, restart alsa (via the command I provided), restart your mixer via the command I provided) and test your headphone.
Do that for EACH of the model options, until you find one that works.
Now I note that a number of Ubuntu users applied the model “lenovo” for your laptop model and claim it works, and in some cases the control “position_fix=1”, but there is a LOT of dissinformation on Ubuntu forums so one needs to be careful. You could try “lenovo” as a boot code as well.
Note some of those “options” you will try may break your sound. No worries, just change it for the next item in the list and test again.
Your openSUSE has the 1.0.20/1.0.21 version of alsa, and I note there have been MANY updates to the ALC269 in 1.0.23 of alsa sound driver, so if the above does not work, we can look at updating alsa (and I can provide specific guidance as to how you need to do that).
Good luck, and let us know how this works out and if we can help some more. There is a lot more that can be tried, but lets do this one step at a time.