Wireless gamepads link in Windows but not in Linux (Solved)
Wireless gamepads link in Windows but not in Linux (Solved)
I have recently acquired a pair of wireless gamepads. They are not xbox clones but generic ones that simulate the wired playstation like ones we had before but died of old age and worked on linux or windows for various games and emulators.
Thing is they have been working just fine on Windows and behave as if they were wired.
The procedure is to insert dongle , press a couple of buttons and the bluetooth links up.
The problems is I have tried them out on Linux ie various pups and other distros and in every case the bluetooth will not link up.
Since with machine only sees the same as a wired controller and indeed dmesg registers the dongle just fine this behaviour seems a little odd but it has to be some sort of linux driver issue.
I get a similar but different issue attaching my phone...since the change to memory stick mode is done after insertion some windows and linux versions do not register its existence until device manager is manually rescanned.
Any clues would be welcome.
mike
Thing is they have been working just fine on Windows and behave as if they were wired.
The procedure is to insert dongle , press a couple of buttons and the bluetooth links up.
The problems is I have tried them out on Linux ie various pups and other distros and in every case the bluetooth will not link up.
Since with machine only sees the same as a wired controller and indeed dmesg registers the dongle just fine this behaviour seems a little odd but it has to be some sort of linux driver issue.
I get a similar but different issue attaching my phone...since the change to memory stick mode is done after insertion some windows and linux versions do not register its existence until device manager is manually rescanned.
Any clues would be welcome.
mike
Last edited by mikeb on Sat 22 Dec 2018, 16:57, edited 1 time in total.
What are they?I have recently acquired a pair of wireless gamepads
Details?
They are the gamepads and a transmitter that plugs into a USB port?
Anything about having to have USB 3 port?
I would be using the very latest version of Puppy.
Bionicpup64 7.9.7
For Bluetooth run Quickpet>Info>Bionicpup updates to get the latest fix.
Probably is a driver and kernel hardware support issue.04/12/2018 added bluetooth ..... bluez, bluezalsa & janky_BT
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected
YaPI(any iso installer)
When I was a kid I wanted to be older.... This is not what I expected
YaPI(any iso installer)
https://www.ebay.co.uk/itm/Wireless-Blu ... 2749.l2649
USB2 port.
Though they can do bluetooth for a phone it is only used to connect to the dongle which mimics a wired generic gamepad. Its this link up that's failing and the only difference seems to related to the driver.
So in terms of use they should be fine with very old puppies and windows (eg they work just fine in windows 2000 with no special driver)
I am guessing the driver has some form of handshaking with the dongle which then allows the bluetooth link though the wired versions are a pretty passive affair.
Hope that clarifies
Mike
USB2 port.
Though they can do bluetooth for a phone it is only used to connect to the dongle which mimics a wired generic gamepad. Its this link up that's failing and the only difference seems to related to the driver.
So in terms of use they should be fine with very old puppies and windows (eg they work just fine in windows 2000 with no special driver)
I am guessing the driver has some form of handshaking with the dongle which then allows the bluetooth link though the wired versions are a pretty passive affair.
Hope that clarifies
Mike
hmm look interesting.Have u tried Batocera or Recalbox?
I usually run epsxe, various sega emulators and native linux ones like gltron .
Wired gamepads were fine so was a little frustrated with the problem with wireless.
After alll lsmod shows joydev loaded and dmesg shows it registered as a device so its simply the inability to link to the dongle thats missing.
of course its worms thats most affected as one needs to be able to throw the gamepad at your opponent without pulling it out the socket.
mike
Did you try it booted into Bionicpup64 7.9.7?
Just something to try.
Plug dongle into a different USB port.
What is the dongle identified as in Puppy?
Another idea.
If the computer has Bluetooth.
Try just using it's Bluetooth to connect.
I am still not sure what gamepad you have.
That link shows about 5 different ones. All different.
Is it the X3 Wireless Bluetooth Controller Joypad Gamepad Joystick For iOS Android PC?
Just something to try.
Plug dongle into a different USB port.
What is the dongle identified as in Puppy?
Another idea.
If the computer has Bluetooth.
Try just using it's Bluetooth to connect.
I am still not sure what gamepad you have.
That link shows about 5 different ones. All different.
Is it the X3 Wireless Bluetooth Controller Joypad Gamepad Joystick For iOS Android PC?
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected
YaPI(any iso installer)
When I was a kid I wanted to be older.... This is not what I expected
YaPI(any iso installer)
Thanks for your input here....
On a pentium 3 that might be a problemDid you try it booted into Bionicpup64 7.9.7?
a windows approach but did that one anyway.Plug dongle into a different USB port.
see the screenshots... js0 is produced as was with a wired gamepad...note I have used this type since puppy 2.What is the dongle identified as in Puppy?
hmm never had much fun with bluetooth on anything and only the laptop has it anyway.If the computer has Bluetooth.
Try just using it's Bluetooth to connect.
Its clever...it can emulate several different types...so the one device can connect to iOS, android phone, wireless to pc as generic gamepad (which I use on windows XP and 2000) and wired gamepad (which also fails on linux).I am still not sure what gamepad you have.
That link shows about 5 different ones. All different.
Is it the X3 Wireless Bluetooth Controller Joypad Gamepad Joystick For iOS Android PC?
- Attachments
-
- gamepad.png
- (160.24 KiB) Downloaded 225 times
So when you connect the gamepad by USB, it does NOT work in Linux? Your game does NOT detect it?wired gamepad (which also fails on linux).
Do those dmesg messages come when you plug in the gamepad by USB or when you plug in the BT dongle?
Last edited by rcrsn51 on Fri 21 Dec 2018, 20:11, edited 1 time in total.
Maybe this
https://bbs.archlinux.org/viewtopic.php?id=94898
I assume the batteries in the gamepad are good and the on/off switch is working
https://bbs.archlinux.org/viewtopic.php?id=94898
I assume the batteries in the gamepad are good and the on/off switch is working
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected
YaPI(any iso installer)
When I was a kid I wanted to be older.... This is not what I expected
YaPI(any iso installer)
I get your drift and good point.So when you connect the gamepad by USB, it does NOT work in Linux? Your game does NOT detect it?
Do those dmesg messages come when you plug in the gamepad by USB or when you plug in the BT dongle?
Actually I cannot get the wired option working on any system (only used for charging so far) so best disregarded in this case.
Dmesg is from plugging in the dongle. The user normally does the connection by pressing 'mode' and 'home' after this.
Well its not on a hub but food for thought.Maybe this Idea
https://bbs.archlinux.org/viewtopic.php?id=94898
I would have thought this problem would have appeared more often.
mike
If your dongle was a standard BT adapter, the kernel would detect it as such and auto-load the "btusb" module.
But your dongle is being detected as something more, and additional modules like joydev are being loaded. So it's not clear to me if your dongle is working as a BT device.
If it was recognized as a BT adapter, you would definitely need a BT subsystem on your computer to do the pairing.
For example, here is what happens on an XP system with a BT mouse. When you plug in a BT dongle, XP detects it and starts a BT process in the system tray. You then press the pairing button on the mouse and run the sequence in XP for adding a new BT device.
But you suggested that none of that happens when you plug your gamepad dongle into a Windows machine.
It sounds like the gamepad and dongle are doing their own pairing independent of the host OS. If that is the case, it shouldn't matter if the host OS is Linux.
But your dongle is being detected as something more, and additional modules like joydev are being loaded. So it's not clear to me if your dongle is working as a BT device.
If it was recognized as a BT adapter, you would definitely need a BT subsystem on your computer to do the pairing.
For example, here is what happens on an XP system with a BT mouse. When you plug in a BT dongle, XP detects it and starts a BT process in the system tray. You then press the pairing button on the mouse and run the sequence in XP for adding a new BT device.
But you suggested that none of that happens when you plug your gamepad dongle into a Windows machine.
It sounds like the gamepad and dongle are doing their own pairing independent of the host OS. If that is the case, it shouldn't matter if the host OS is Linux.
Last edited by rcrsn51 on Sat 22 Dec 2018, 10:53, edited 1 time in total.
Indeed.
The idea is to behave the same as a wired gamepad/joystick.
I have a wireless mouse that appears as a wired one.
it should make life simpler but is not in this case.
I am guessing that on windows either the dongle reacts to the OS , or the driver sends something to the dongle....but thats a laymans view of the process.
mike
The idea is to behave the same as a wired gamepad/joystick.
I have a wireless mouse that appears as a wired one.
it should make life simpler but is not in this case.
I am guessing that on windows either the dongle reacts to the OS , or the driver sends something to the dongle....but thats a laymans view of the process.
mike
I have the answer which hopefully might help others.
The pairing is not allowed unless the dongle is being polled by the operating system. I suppose its a form of power saving approach.
I assume on windows polling happens continuously but on linux it would only happen with a game in progress.
A simple cat /dev/input/js0 made this evident.
Thanks to all who tried to help and once again the answer was simple in the end
mike
The pairing is not allowed unless the dongle is being polled by the operating system. I suppose its a form of power saving approach.
I assume on windows polling happens continuously but on linux it would only happen with a game in progress.
A simple cat /dev/input/js0 made this evident.
Thanks to all who tried to help and once again the answer was simple in the end
mike