Bluetooth (USB)driver development?

AmigaOS users can make feature requests in this forum.
amifrog
Posts: 25
Joined: Thu Feb 02, 2017 11:12 am

Bluetooth (USB)driver development?

Post by amifrog »

As there is currently an offer porting a Bluetooth stack to AmigaOs, is there anything available the work can rely on, say a stub to an USB driver or somebodys previous unreleased work?
Or steps one should take care of when interfacing to AOS's USB stack, like any help at all honestly speaking?

Here is the thread btw, https://www.amigans.net/modules/xforum/ ... 6&forum=25
NinjaCyborg
Posts: 55
Joined: Wed Oct 10, 2018 11:28 pm

Re: Bluetooth (USB)driver development?

Post by NinjaCyborg »

Well I was going to just use BlueZ, but yes I wouldn't even bother if there wouldn't be at least a bit of engagement from the owners.
amifrog
Posts: 25
Joined: Thu Feb 02, 2017 11:12 am

Re: Bluetooth (USB)driver development?

Post by amifrog »

hi NinjaCyborg,

i posted this to encourage other people to come out showing their efforts and maybe bundle all things together.

What is it roughly that you need?
For example:
AmigaOS integration?
GUI?
USB class development on AmigaOS?

If you can port a BT stack for use with USB dongles there might be further improvements needed to the main USB stack done by AOS core developers themselves.
If you could sketch the requirements a little bit more it would certainly help to find people.
I've tried to spread the word, and got comments like here
https://www.os4welt.de/viewtopic.php?p=40744#p40744
but don't assume it is all set.
You might try to go to Amiga.org forum and post there, make sure it is for AOS4, i believe it is for?

Greets.
NinjaCyborg
Posts: 55
Joined: Wed Oct 10, 2018 11:28 pm

Re: Bluetooth (USB)driver development?

Post by NinjaCyborg »

Sorry, I don't speak German. Also, it's best if you reply to the original thread and you can talk to me there. I found your posting here by complete accident. Bit weird to reply to someone's forum post by starting a new thread on a totally different forum. I don't think anyone frequents these forums, not least the actual OS4 team.
User avatar
Cyborg
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 59
Joined: Wed Feb 16, 2011 1:29 pm

Re: Bluetooth (USB)driver development?

Post by Cyborg »

@ NinjaCyborg
At least I am mostly active in os4welt.de and only rarely on amigans or amigaworld. But more than here actually ;)

amifrog linked to my reply on os4welt in his thread about your Bluetooth idea. It was funny for me to see somebody else thinking about BT, because I did that 12 years ago and started writing a BT stack from scratch actually (because I found BlueZ code too convoluted as most *nix code in my view is). I did a design mistake back then, figured it might not be as useful anyway and lost interest. I posted on os4welt about it and some of the screenshots from the preferences and pairing wizard I took back then.

If you feel BT would be nice, please go ahead! Every now and then I thought myself about resurrecting my BT project, but as said, I have a different approach and not much time these days either.

For the records: despite what amifrog suggests, you don't need any change in the OS for writing a BT stack ;)
Please contact support@hyperion-entertainment.com rather than trying to send PMs to me. Thanks! :)
NinjaCyborg
Posts: 55
Joined: Wed Oct 10, 2018 11:28 pm

Re: Bluetooth (USB)driver development?

Post by NinjaCyborg »

Hi thanks for reply. I think situation in 2021 is better than long time ago because of proliferation of USB bluetooth dongles all using same one or two chipsets, and wealth of open source code to draw from. Not like 2000s when Bluetooth implementations were considered high value and private code.

Apart from radio layer you're right, i think once rfcomm is in place it's straight forward to do virtual serial device, virtual mouse, keyboard and game device with input handlers and AmigaInput driver. Even PAN sana2 driver would be possible but did you ever see a bluetooth PAN router in the wild?? Keyboard and mouse support would be OK but still not ideal as it wouldn't work in the uboot so one would still need a USB device for those occasions, but only Mac supports boot mode Bluetooth I think, never seen it on a PC.

More work is in implementing management tools for pairing etc. Something like Trident app but more work! But probably the biggest job would be implementing audio drivers so I'm not sure i'd get that far.
User avatar
Cyborg
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 59
Joined: Wed Feb 16, 2011 1:29 pm

Re: Bluetooth (USB)driver development?

Post by Cyborg »

Indeed, 12 years ago there were a lot of incompatible chipsets out there... but my main concern was rather the usefulness of a BT stack. As you said, keyboard and mouse would not work in firmware, but only after Kickstart got loaded (if BT stack was loaded as Kickstart module ... one of the major drawbacks having the firmware as prominent as our U-Boots are rather than keeping it invisible for bare bootstrapping, but that is a different story). And for everything else there were and are nicely working cable-solutions. The only real benefit I see with a BT stack would be wireless audio stuff. Everything else lacks real usefulness in my view and therefore can barely justify the effort needed (if you wouldn't do it for your own pleasure that is ;) ).

Regarding management tools, I can only say those could be kept fairly basic as well. For example, for my own BT stack "Cobalt" I wrote a preferences tool to setup and init USB dongles and scan for devices in reach using the beginnings of a "paring wizard" (yes, scanning worked already!). It even had an AmiDock docky ;) My conceptual issues started when I came to actually implement the paring process, but I honestly forgot the exact details meanwhile. I'll attach the same 12 years old screenshots here, which I attached already on os4welt, just for the sake of it... if I would only have more time :|

Cobalt1.png
Cobalt2.png
Cobalt3.png
Cobalt4.png
Cobalt5.png
Please contact support@hyperion-entertainment.com rather than trying to send PMs to me. Thanks! :)
NinjaCyborg
Posts: 55
Joined: Wed Oct 10, 2018 11:28 pm

Re: Bluetooth (USB)driver development?

Post by NinjaCyborg »

Oh that looks nice. Well even pairing is easier these days, no more having to enter the codes but just to check that the codes match. But yes for HID there are already wireless keyboard and mouse using proprietary mechanism. And even for audio too there are USB audio wireless solutions, although OS4 lacks audio driver for USB (maybe you can fix that?). I would be doing it for the fun of course. Does anyone do anything on Amiga not for fun?

While you're here, I don't know who you are in real life. But I was original maintainer of AmigaPython in early 2000s, after Irmen de Jong let me take it on. I switched to porting it to Symbian around 2005 one reason because i was working there and it seemed like platform had more future at that time (who knew AmigaOS would out live Symbian!). But another reason is because Frieden's refused to collaborate and share their OS4 port work, with aim of common implementation across both platforms, even though Irmen's version had better AmigaOS integration.

Recently I am working on new update to AmigaPython. So I ask again, is there opportunity to collaborate for greater good? Seems like no one is doing anything on OS4 python anyway.
User avatar
Cyborg
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 59
Joined: Wed Feb 16, 2011 1:29 pm

Re: Bluetooth (USB)driver development?

Post by Cyborg »

It is not about exchanging or comparing pairing codes, but implementation of the underlying protocol mechanisms. Thinks weren't as medieval as you seem to think with regard to the work flow of pairing on the user's side ;) Bluetooth protocol specifications are nowadays even more of a horde of beasts than they were 12 years ago.. all the new revisions and additions to Bluetooth didn't make it easier. However, if you focus on the right things, it is still doable even without having to spent enormous amount of time and effort in porting another beast like BlueZ, which fundamental concepts are basically not compatible with AmigaOS. Of course it is possible, but I'm still the opinion a self-written, focused from scratch approach would make more sense.

While wireless keyboard/mouse with USB dongle is a perfect replacement for BT keyboard/mouse due to its transparent compatibility to everything including U-Boot, an USB audio driver (as in USB ADC support for peripherals like headphones and speakers, not soundcards!) would not as it would still be linked physically to your computer. Having a BT audio implementation would of course allow wireless headphones (which means implementing all base protocols plus A2DP plus SBC codec as minimum plus maybe even one or more other enhanced codecs for better quality).

Oh, another nice use-case for BT would actually be wireless gamepads like Playstation ones. That was the main reason why I started with Cobalt 12 years ago in the first place ;)


Regarding your unrelated Python question: I can't tell about the reasons to be honest. Obviously double effort doesn't make lots of sense. AFAIK there is a newer alpha port of Python 3 already in existence at some developers. But I don't know how advanced it is or not, would have to ask around. In any case, a new Python version should keep and enhance the features of the existing one. But please let us stay on BT topic here in this thread. Thanks.
Please contact support@hyperion-entertainment.com rather than trying to send PMs to me. Thanks! :)
NinjaCyborg
Posts: 55
Joined: Wed Oct 10, 2018 11:28 pm

Re: Bluetooth (USB)driver development?

Post by NinjaCyborg »

No there are USB wireless headphones too, such as the playstation headphones, the wireless part is taken care of in the hardware. And even playstation 3 and 4 joystick can work over usb with cable even their bluetooth bearer is non standard. And no one syncs mobile phones by Bluetooth any more. So, not much value added with Bluetooth that you can't get with USB if only OS4 had full complement of USB drivers for non-chipset specific protocols such as audio.

Well, I know Python sourcecode license is not GPL in that it's not mandatory to share source code, but of course it makes no sense to keep it private when people are willing to work on it. I remember Frieden's made excuse about how new system installer scripts are built in python and so it's critical they keep control of important system component. Bollocks to that, not least because if Amiga Installer is missing a couple of commands you need, they could just extend Installer, rather than go through the massive exercise of porting Python just for that one use case. Intellectual vanity getting in the way of sound business sense was always their problem.
Locked