Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tweaks for Toshiba Satellite L15W-B (Radius) #40

Open
charlesmauch opened this issue Oct 17, 2015 · 11 comments
Open

Tweaks for Toshiba Satellite L15W-B (Radius) #40

charlesmauch opened this issue Oct 17, 2015 · 11 comments

Comments

@charlesmauch
Copy link

Been fooling with these drivers trying to get them working on my (newish) laptop. bluetooth device always showed up as:

0: Toshiba Bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
3: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

and poking it with lsusb showed the device as

Bus 001 Device 010: ID 0930:0222 Toshiba Corp.

prodding it for more info returned the following. Nowhere did it mention realtek chipset so I figured maybe it wasn't being recognized properly and maybe Toshiba had a custom version made for this line of laptops:

Bus 001 Device 010: ID 0930:0222 Toshiba Corp. 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass          224 Wireless
  bDeviceSubClass         1 Radio Frequency
  bDeviceProtocol         1 Bluetooth
  bMaxPacketSize0        64
  idVendor           0x0930 Toshiba Corp.
  idProduct          0x0222 
  bcdDevice            2.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          177
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       3
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       5
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               1

Anyway, after scratching my head I figured I'd just throw caution of the wind and poke at the btusb source. I changed the following starting at about line 309 (from the latest -kernel git branch)

Original:

/* Additional Realtek 8723AE Bluetooth devices */
{ USB_DEVICE(0x0930, 0x021d), .driver_info = BTUSB_REALTEK },
{ USB_DEVICE(0x13d3, 0x3394), .driver_info = BTUSB_REALTEK },

New:

/* Additional Realtek 8723AE Bluetooth devices */
{ USB_DEVICE(0x0930, 0x021d), .driver_info = BTUSB_REALTEK },
{ USB_DEVICE(0x0930, 0x0222), .driver_info = BTUSB_REALTEK },
{ USB_DEVICE(0x13d3, 0x3394), .driver_info = BTUSB_REALTEK },

After recompiling and re-inserting the module, dmesg showed:

[    6.000307] Bluetooth: hci0: rtl: examining hci_ver=06 hci_rev=000b lmp_ver=06 lmp_subver=8723
[    6.000314] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_fw.bin

So I assume that means it's loading the firmware now. And bluetooth works. So yay!

Anyway, thought I'd share my success and hope someone else finds this useful.

System:    Kernel: 4.2.0-16-generic x86_64 (64 bit) Desktop: Gnome 3.18.0 Distro: Ubuntu 15.10 wily
Machine:   System: TOSHIBA product: Satellite L15W-B v: PSKVQU-002002
           Mobo: TOSHIBA model: MA20 Bios: TOSHIBA v: 1.30 date: 05/22/2015
Network:   Card: Realtek RTL8723BE PCIe Wireless Network Adapter driver: rtl8723be
@tapiama
Copy link

tapiama commented Oct 30, 2015

Thanks for sharing your experience. I have a different laptop (Yoga 13) with different config:

Bus 003 Device 004: ID 0bda:1724 Realtek Semiconductor Corp. RTL8723AU 802.11n WLAN Adapter

I read your post and thought I'd try that - instead of adding new entry 0bda:1724 to the blacklist, I moved the generic realtek line from blacklist to the btusb_table[] array

{ USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01), .driver_info = BTUSB_REALTEK },

I've used lwfinger's modules for years, but after upgraded Ubuntu to 15.10 "new" branch no longer compile and I had to use the "kernel" branch and the above modification to make it work. There appear to be some differences between "kernel" and "new" branchs' btusb.c. If you device used to work by "new" branch, it doesn't hurt to cross-reference the old/new code. Good luck.

@tapiama
Copy link

tapiama commented Oct 30, 2015

BTW, once bluetooth is up, under 15.10 I was able to pair and use my Bluetooth 4.0 (low-energy profile) micosoft designer mouse right from standard UI. Cool.. And both wifi/bluetooth works fine simultaneously with lwfinger's drivers (there was a question about that in another thread)

@N4RPS
Copy link

N4RPS commented Dec 15, 2015

Hello!

I'm having the same problem you did. Is there any way this can be passed upstream, to be included in future updates? Having to patch this file every time it's updated would be a real bummer.

I'm thinking of just plugging a BT dongle into my Toshiba, as I don't have any experience with compiling things from source...

@lwfinger
Copy link
Owner

The patch has been sent upstream, but I have heard nothing since.

@N4RPS
Copy link

N4RPS commented Dec 16, 2015

Hello!

I finally found what I needed on the Ubuntu forums. Bless the soul who created a PPA to handle this issue as new kernels arrive!

73 DE N4RPS
Rob

On December 15, 2015 10:30:53 AM EST, lwfinger notifications@github.com wrote:

The patch has been sent upstream, but I have heard nothing since.


Reply to this email directly or view it on GitHubhttps://github.com//issues/40#issuecomment-164798885.

Sent from my Android device with K-9 Mail. Please excuse my brevity.

@mochnaufals
Copy link

Sorry for commenting on an old issue.

But I wonder if the line { USB_DEVICE(0x0930, 0x0222), .driver_info = BTUSB_REALTEK }, has been added to the newer kernel, since my Bluetooth Realtek ID is 0930:0222 and I still have Bluetooth problem with kernel 5.10.34-1-MANJARO. I checked this link https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/bluetooth/btusb.c?h=v5.12.4 and I did not found that line.

Any suggestions of what should I do?
Many thanks.

@lwfinger
Copy link
Owner

The USB vendor ID of 0x0930 belongs to Atheros, not Realtek. Are you sure that your BT device is made by Realtek?

@mochnaufals
Copy link

@lwfinger
Thank you for replying. Yes, I'm pretty sure that my BT device is made by realtek. This is a picture of the back of my laptop,
mylaptop-info

I did not do any replacement to the bluetooth/WiFi hardware since I bought it, and one of my lsusb output returns Bus 002 Device 004: ID 0930:0222 Toshiba Corp. Bluetooth Radio

@blisshome
Copy link

I'm so glad your post from 2015 was still up. Your solution worked perfectly! On the other hand, doing my first kernel recompile was, let's just say "a learning experience". I hope you see this post and feel my wireless gratitude.

@lwfinger
Copy link
Owner

I remember my first kernel build, but the kernel was a lot smaller. You are welcome.

@SonoDavid
Copy link

Compiling now. Is there any possibility for this change to be included in future linux kernels?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants