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

Wii U Pro Controller (WUP-005) still requires PIN? #47

Open
Alexander-Prime opened this Issue Jun 4, 2014 · 4 comments

Comments

Projects
None yet
3 participants
@Alexander-Prime

Alexander-Prime commented Jun 4, 2014

I'm using KBluetooth to connect my Wii devices, and the remote works perfectly every time, but for some reason connecting a Wii U Pro Controller still requests a PIN. Scouring Google and this repo haven't given me any particular commands to try manually pairing, and Bluetooth documentation on Linux is an unholy mess. Is this a driver bug, or are there extra steps I need to take?

Some version info:

$ lsb_release -d
Description:    Ubuntu 14.04 LTS

$ uname -r
3.13.0-27-generic

$ dpkg -s bluez | grep Version
Version: 4.101-0ubuntu13

$ dpkg -s xwiimote | grep Version
Version: 0.3+20120630-5+fakesync
@dvdhrm

This comment has been minimized.

Show comment
Hide comment
@dvdhrm

dvdhrm Jun 5, 2014

Owner

You really need a newer bluez version. I mean, most recent release is 5.19, so 4.101 is really old now.

Furthermore, please try to get some information of the device via hcitool inq and hcitool info <dev> and whatever else you can find (especially sdptool browse --tree <dev> is interesting, too).

Owner

dvdhrm commented Jun 5, 2014

You really need a newer bluez version. I mean, most recent release is 5.19, so 4.101 is really old now.

Furthermore, please try to get some information of the device via hcitool inq and hcitool info <dev> and whatever else you can find (especially sdptool browse --tree <dev> is interesting, too).

@Alexander-Prime

This comment has been minimized.

Show comment
Hide comment
@Alexander-Prime

Alexander-Prime Jun 9, 2014

Aha, that got Google to tell me what I wanted. Didn't know bluez was so out of date on Ubuntu.

Unfortunately, it looks like they're dragging their feet in updating. A comment in https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1162781 notes that Wii U Pro Controller pairing was fixed in 5.14, so I'm confident that my problem is just lack of support.

I'm in the process of trying to manually install bluez-5.19 from source. It's less cooperative than I expected, so if I get it working, I'll write up what I did for future Googlers.

Here's the output from those commands you asked for, in case it's still any help:

$ hcitool inq
Inquiring ...
        18:2A:7B:44:C8:18       clock offset: 0x4aa2    class: 0x000508

$ hcitool info 18:2A:7B:44:C8:18   
Requesting information ...
        BD Address:  18:2A:7B:44:C8:18
        Device Name: Nintendo RVL-CNT-01-UC
        LMP Version: 2.0 (0x3) LMP Subversion: 0x1d8d
        Manufacturer: Cambridge Silicon Radio (10)
        Features: 0xbc 0x02 0x04 0x38 0x08 0x00 0x00 0x00
                <encryption> <slot offset> <timing accuracy> <role switch> 
                <sniff mode> <RSSI> <power control> <enhanced iscan> 
                <interlaced iscan> <interlaced pscan> <AFH cap. slave> 

$ sdptool browse --tree 18:2A:7B:44:C8:18 
Browsing 18:2A:7B:44:C8:18 ...
Attribute Identifier : 0x0 - ServiceRecordHandle
  Integer : 0x10000
Attribute Identifier : 0x1 - ServiceClassIDList
  Data Sequence
    UUID16 : 0x1124 - HumanInterfaceDeviceService (HID)
Attribute Identifier : 0x4 - ProtocolDescriptorList
  Data Sequence
    Data Sequence
      UUID16 : 0x0100 - L2CAP
      Channel/Port (Integer) : 0x11
    Data Sequence
      UUID16 : 0x0011 - HIDP
Attribute Identifier : 0x5 - BrowseGroupList
  Data Sequence
    UUID16 : 0x1002 - PublicBrowseGroup
Attribute Identifier : 0x6 - LanguageBaseAttributeIDList
  Data Sequence
    Code ISO639 (Integer) : 0x656e
    Encoding (Integer) : 0x6a
    Base Offset (Integer) : 0x100
Attribute Identifier : 0x9 - BluetoothProfileDescriptorList
  Data Sequence
    Data Sequence
      UUID16 : 0x1124 - HumanInterfaceDeviceService (HID)
      Version (Integer) : 0x100
Attribute Identifier : 0xd - AdditionalProtocolDescriptorLists
  Data Sequence
    Data Sequence
      Data Sequence
        UUID16 : 0x0100 - L2CAP
        Integer : 0x13
      Data Sequence
        UUID16 : 0x0011 - HIDP
Attribute Identifier : 0x100
  Data : 4e 69 6e 74 65 6e 64 6f 20 52 56 4c 2d 43 4e 54 2d 30 31 2d 54 52 00
Attribute Identifier : 0x101
  Data : 4e 69 6e 74 65 6e 64 6f 20 52 56 4c 2d 43 4e 54 2d 30 31 2d 54 52 00
Attribute Identifier : 0x102
  Data : 4e 69 6e 74 65 6e 64 6f 00
Attribute Identifier : 0x200 - DeviceReleaseNum
  Integer : 0x100
Attribute Identifier : 0x201 - ParserVersion
  Integer : 0x111
Attribute Identifier : 0x202 - DeviceSubclass
  Integer : 0x4
Attribute Identifier : 0x203 - CountryCode
  Integer : 0x0
Attribute Identifier : 0x204 - VirtualCable
  Integer : 0x0
Attribute Identifier : 0x205 - ReconnectInitiate
  Integer : 0x1
Attribute Identifier : 0x206 - DescriptorList
  Data Sequence
    Data Sequence
      Integer : 0x22
      Data : 05 01 09 05 a1 01 85 10 15 00 26 ff 00 75 08 95 01 06 00 ff 09 01 91 00 85 11 95 01 09 01 91 00 85 12 95 02 09 01 91 00 85 13 95 01 09 01 91 00 85 14 95 01 09 01 91 00 85 15 95 01 09 01 91 00 85 16 95 15 09 01 91 00 85 17 95 06 09 01 91 00 85 18 95 15 09 01 91 00 85 19 95 01 09 01 91 00 85 1a 95 01 09 01 91 00 85 20 95 06 09 01 81 00 85 21 95 15 09 01 81 00 85 22 95 04 09 01 81 00 85 30 95 02 09 01 81 00 85 31 95 05 09 01 81 00 85 32 95 0a 09 01 81 00 85 33 95 11 09 01 81 00 85 34 95 15 09 01 81 00 85 35 95 15 09 01 81 00 85 36 95 15 09 01 81 00 85 37 95 15 09 01 81 00 85 3d 95 15 09 01 81 00 85 3e 95 15 09 01 81 00 85 3f 95 15 09 01 81 00 c0 00
Attribute Identifier : 0x207 - LangIDBaseList
  Data Sequence
    Data Sequence
      Integer : 0x409
      Integer : 0x100
Attribute Identifier : 0x208 - SDPDisable
  Integer : 0x0
Attribute Identifier : 0x209 - BatteryPower
  Integer : 0x1
Attribute Identifier : 0x20a - RemoteWakeup
  Integer : 0x1
Attribute Identifier : 0x20b - ProfileVersion
  Integer : 0x100
Attribute Identifier : 0x20c - SupervisionTimeout
  Integer : 0xc80
Attribute Identifier : 0x20d - NormallyConnectable
  Integer : 0x0
Attribute Identifier : 0x20e - BootDevice
  Integer : 0x0

Alexander-Prime commented Jun 9, 2014

Aha, that got Google to tell me what I wanted. Didn't know bluez was so out of date on Ubuntu.

Unfortunately, it looks like they're dragging their feet in updating. A comment in https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1162781 notes that Wii U Pro Controller pairing was fixed in 5.14, so I'm confident that my problem is just lack of support.

I'm in the process of trying to manually install bluez-5.19 from source. It's less cooperative than I expected, so if I get it working, I'll write up what I did for future Googlers.

Here's the output from those commands you asked for, in case it's still any help:

$ hcitool inq
Inquiring ...
        18:2A:7B:44:C8:18       clock offset: 0x4aa2    class: 0x000508

$ hcitool info 18:2A:7B:44:C8:18   
Requesting information ...
        BD Address:  18:2A:7B:44:C8:18
        Device Name: Nintendo RVL-CNT-01-UC
        LMP Version: 2.0 (0x3) LMP Subversion: 0x1d8d
        Manufacturer: Cambridge Silicon Radio (10)
        Features: 0xbc 0x02 0x04 0x38 0x08 0x00 0x00 0x00
                <encryption> <slot offset> <timing accuracy> <role switch> 
                <sniff mode> <RSSI> <power control> <enhanced iscan> 
                <interlaced iscan> <interlaced pscan> <AFH cap. slave> 

$ sdptool browse --tree 18:2A:7B:44:C8:18 
Browsing 18:2A:7B:44:C8:18 ...
Attribute Identifier : 0x0 - ServiceRecordHandle
  Integer : 0x10000
Attribute Identifier : 0x1 - ServiceClassIDList
  Data Sequence
    UUID16 : 0x1124 - HumanInterfaceDeviceService (HID)
Attribute Identifier : 0x4 - ProtocolDescriptorList
  Data Sequence
    Data Sequence
      UUID16 : 0x0100 - L2CAP
      Channel/Port (Integer) : 0x11
    Data Sequence
      UUID16 : 0x0011 - HIDP
Attribute Identifier : 0x5 - BrowseGroupList
  Data Sequence
    UUID16 : 0x1002 - PublicBrowseGroup
Attribute Identifier : 0x6 - LanguageBaseAttributeIDList
  Data Sequence
    Code ISO639 (Integer) : 0x656e
    Encoding (Integer) : 0x6a
    Base Offset (Integer) : 0x100
Attribute Identifier : 0x9 - BluetoothProfileDescriptorList
  Data Sequence
    Data Sequence
      UUID16 : 0x1124 - HumanInterfaceDeviceService (HID)
      Version (Integer) : 0x100
Attribute Identifier : 0xd - AdditionalProtocolDescriptorLists
  Data Sequence
    Data Sequence
      Data Sequence
        UUID16 : 0x0100 - L2CAP
        Integer : 0x13
      Data Sequence
        UUID16 : 0x0011 - HIDP
Attribute Identifier : 0x100
  Data : 4e 69 6e 74 65 6e 64 6f 20 52 56 4c 2d 43 4e 54 2d 30 31 2d 54 52 00
Attribute Identifier : 0x101
  Data : 4e 69 6e 74 65 6e 64 6f 20 52 56 4c 2d 43 4e 54 2d 30 31 2d 54 52 00
Attribute Identifier : 0x102
  Data : 4e 69 6e 74 65 6e 64 6f 00
Attribute Identifier : 0x200 - DeviceReleaseNum
  Integer : 0x100
Attribute Identifier : 0x201 - ParserVersion
  Integer : 0x111
Attribute Identifier : 0x202 - DeviceSubclass
  Integer : 0x4
Attribute Identifier : 0x203 - CountryCode
  Integer : 0x0
Attribute Identifier : 0x204 - VirtualCable
  Integer : 0x0
Attribute Identifier : 0x205 - ReconnectInitiate
  Integer : 0x1
Attribute Identifier : 0x206 - DescriptorList
  Data Sequence
    Data Sequence
      Integer : 0x22
      Data : 05 01 09 05 a1 01 85 10 15 00 26 ff 00 75 08 95 01 06 00 ff 09 01 91 00 85 11 95 01 09 01 91 00 85 12 95 02 09 01 91 00 85 13 95 01 09 01 91 00 85 14 95 01 09 01 91 00 85 15 95 01 09 01 91 00 85 16 95 15 09 01 91 00 85 17 95 06 09 01 91 00 85 18 95 15 09 01 91 00 85 19 95 01 09 01 91 00 85 1a 95 01 09 01 91 00 85 20 95 06 09 01 81 00 85 21 95 15 09 01 81 00 85 22 95 04 09 01 81 00 85 30 95 02 09 01 81 00 85 31 95 05 09 01 81 00 85 32 95 0a 09 01 81 00 85 33 95 11 09 01 81 00 85 34 95 15 09 01 81 00 85 35 95 15 09 01 81 00 85 36 95 15 09 01 81 00 85 37 95 15 09 01 81 00 85 3d 95 15 09 01 81 00 85 3e 95 15 09 01 81 00 85 3f 95 15 09 01 81 00 c0 00
Attribute Identifier : 0x207 - LangIDBaseList
  Data Sequence
    Data Sequence
      Integer : 0x409
      Integer : 0x100
Attribute Identifier : 0x208 - SDPDisable
  Integer : 0x0
Attribute Identifier : 0x209 - BatteryPower
  Integer : 0x1
Attribute Identifier : 0x20a - RemoteWakeup
  Integer : 0x1
Attribute Identifier : 0x20b - ProfileVersion
  Integer : 0x100
Attribute Identifier : 0x20c - SupervisionTimeout
  Integer : 0xc80
Attribute Identifier : 0x20d - NormallyConnectable
  Integer : 0x0
Attribute Identifier : 0x20e - BootDevice
  Integer : 0x0
@dvdhrm

This comment has been minimized.

Show comment
Hide comment
@dvdhrm

dvdhrm Jun 10, 2014

Owner

Yes, that's the expected result. It should work properly with a recent bluez release. Fedora already has bluez-5, I don't know why Ubuntu still sticks with bluez-4.. sorry.

Owner

dvdhrm commented Jun 10, 2014

Yes, that's the expected result. It should work properly with a recent bluez release. Fedora already has bluez-5, I don't know why Ubuntu still sticks with bluez-4.. sorry.

@OmniBlade

This comment has been minimized.

Show comment
Hide comment
@OmniBlade

OmniBlade Jul 31, 2014

The build of bluez 4.101 I have at https://launchpad.net/~nadia-xy/+archive/ubuntu/ppa includes support for the WiiU Pro Controller which I built in when I added sixaxis pairing.

OmniBlade commented Jul 31, 2014

The build of bluez 4.101 I have at https://launchpad.net/~nadia-xy/+archive/ubuntu/ppa includes support for the WiiU Pro Controller which I built in when I added sixaxis pairing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment