I have pre-compiled kernel 3.16.7 which has btusb v0.6 module; The current btusb v0.6 I'd like to replace with btusb v0.7 which is located in kernel 4.0; So my question is how to :
- remove the current btusb 0.6 from kernel 3.16.7
- extract btusb 0.7 from kernel 4.0 (compile it)
- insert the compiled btusb 7.0 to kernel 3.16.7
EDIT :
lsusb outputs :
Bus 001 Device 004: ID 04ca:2006 Lite-On Technology Corp.
the broadcom device 04ca is quite new so maybe that's the major problem;
As I could get it, it needs btusb module version>=0.7; So I do need some kind of module replacement cause my current pre-compiled kernel has btusb 0.6; I really want not to deal with the whole kernel sources compilation but to figure out btusb local integration into my already pre-compiled kernel v3.16.7
EDIT :
I have $usb-devices output as :
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 11 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04ca ProdID=2006 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM43142A0
S: SerialNumber=*******
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
after the input :
sudo modprobe btusb
and...
sudo echo "04ca 2006" | sudo tee /sys/bus/usb/drivers/btusb/new_id
I can see btusb driver activated as $usb-devices:
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04ca ProdID=2006 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM43142A0
S: SerialNumber=******
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
...
EDIT
I try to download an install linux-headers as :
sudo pacman -S linux-headers
[sudo] password for ...:
:: There are 8 providers available for linux-headers:
:: Repository core
1) linux310-headers 2) linux312-headers 3) linux313-headers
4) linux314-headers 5) linux316-headers 6) linux318-headers
7) linux319-headers 8) linux40-headers
...but as I can get it the linux316-headers do install headers for 3.16.7.11-1-Arch; I can see it pretty clear cause after installation I have /lib/modules/3.16.7.11-1-Arch folder created :( Currently I have running kernel as 3.16.7.3-1 so the repo headers are not compatible or similar demanding me to upgrade; So is there a way to install headers which compatible with my kernel build version?
p.s. I am quite new to linux so please link some related tutorials links and give detailed steps
Thanks
p.p.s. OS : Linux Arch x64
lsusb
as you can add your device to the current source and build the module