When I start my system with my usb bluetooth device connected the bluetooth rc script load hcid and sdpd but when the device is not connect hcid and sdpd aren't loaded. with the kernel 2.6.textXX they are never loaded (I have to load the manually). I don't know if this is a bluez issue or a rc script problem. Reproducible: Always Steps to Reproduce: 1. 2. 3. Expected Results: hcid and sdpd have to be loaded always and not only when a bluetooth device is already connect at startup.
I've made a file in /etc/modules.d called bluetooth with inside these lines: alias net-pf-31 bluez alias bt-proto-0 l2cap alias bt-proto-2 sco alias bt-proto-3 rfcomm alias bt-proto-4 bnep alias tty-ldisc-15 hci_uart alias char-major-10-250 hci_vhci than I ran modules-update. For kernel 2.6 this file is quite different. Can't it be automatically created when you install bluez-libs ebuild?
This isn't more needed in 2.6 kernel, BUT only if you do what I did in this bug that I reported yesterday! This is the right WAY to use 2.6 kernels! http://bugs.gentoo.org/show_bug.cgi?id=48736 Bye!
this is done as per the modprobe.conf stuff, so i guess there's no action required here.
I've finally found time to fix the problem with the wrong aliases for bluez provided by the modutils package and propagated to the modprobe.conf file by the generate-modprobe.conf script. I'll riassume the problem: modutils-2.4.27/util/alias.h defines some standard aliases. These aliases are of course not needed for 2.6 kernels as the kernel modules themself export their provided aliases. The problem with bluez is that in the 2.4 kernel version the modules was called "bluez" while in 2.6 it's called "bluetooth" The file modutils-2.4.27/util/alias.h then define this alias: "net-pf-31 bluez" that will override the alias defined inside the "bluetooth" module. So when you startup your machine without a bluetooth dongle inside (I say without because elsewhere with coldplug enabled the bluetooth module will be loaded by the hotplug scripts as a dependency of hci_usb or other) and the "bluetooth" init script tries to start the bluez daemons (hcid, sdpd etc...) they fails because they needs some functions provided by the module "bluetooth" but modprobe tries to load "bluez". I made a simple fix in the sbin/modules-update script that will sed out this alias from modprobe.conf. Removing this directly from the file modutils-2.4.27/util/alias.h isn't right as this aliases are needed with 2.4 kernels. P.S. I think that none of this aliases are needed for 2.6 kernels but more of them don't give any problem. bluez has this problem due to the module name change.
Created attachment 48378 [details, diff] /modules-update-remove-bluez-aliases.patch
dunno that change seems a little dodgy, is there no way to do it with /etc/modules.d/ or /etc/modules.autoload.d/ without hacking modules-update?
You should be able to set the right alias knowing the current loaded kernel version. I don't know if this is possible. But the right problem is that I really think that all these aliases introduced byt the alias.h AREN'T useful in 2.6 kernels.
base-system herd: Any thought on this? I think it's a simple patch that won't have any downside and it will finally make the bluetooth stuffs work on kernels 2.6. Please apply it or tell me a better way to do this. But a FIX is needed.
you mean the modules autoloading does not work for 2.4 or 2.6? i was under the impression that it didn't work for 2.4 only? i'm reassigning because i think it is more appropriate for base-system to handle this.
Please forget comments #1 and #2, the right problem is explained and a sulution is proposed in comment #4.
*** This bug has been marked as a duplicate of 66504 ***