bl_iot_sdk icon indicating copy to clipboard operation
bl_iot_sdk copied to clipboard

More Open Datasheet? Free Opensource support? Check here

Open bouffalolab2020 opened this issue 3 years ago • 65 comments

We are glad to hear voice from you.

Any requirements? Feel free to talk or request Here.

BTW: We are plan to add Nuttx support soon.

bouffalolab2020 avatar Oct 26 '20 12:10 bouffalolab2020

can we get the code for libbl602_wifi.a ? would be great to have no binary blobs

maidenone avatar Oct 27 '20 11:10 maidenone

Pine64's is evaluating releasing a product based on the BL602.

The decision mostly depends if there's enough documentation to implement an open-source WiFi and Bluetooth stack or if the Bouffalo's stacks are going to be open-source to an usable extent.

For example, if Bluetooth LE + Mesh and WiFi+WPA2 stacks were to be open-source, that would already be a huge plus over competitor devices such as the ESP8266 or ESP32. If everything remains proprietary, there's not a huge lot that would tilt the balance towards the BL602 to be totally honest. It's up to Boufffalo to decide what approach you wish to take.

Avamander avatar Oct 27 '20 11:10 Avamander

We are glad to hear voice from you.

Any requirements? Feel free to talk or request Here.

@bouffalolab2020 It is a great idea to publish every source code, specially those 'archive' binaries. Accessing to registers in memory is not a big secret to hide and it is important to optimize and to add more API hardware-based features.

Product specification in detail is also important (a good example is Nordic's nRFx docs). English is the worldwide most spread language related to IT developers, please, always a version in English!

It will be a significant advantage over your competitors like Expressif. Community will support your hardware from foundation, you only have to lead the project... Go fully open!

rafacouto avatar Oct 27 '20 12:10 rafacouto

@maidenone @Avamander @rafacouto Thanks for your feedback. We are preparing documents with more details. For stack part, it's a little complex, and will take more time & resource to deal with. We will consider this requirement seriously. Thanks again.

YafeiJin avatar Oct 27 '20 14:10 YafeiJin

I second the necessity of a fully open platform. This could be a big competitor to ESP8266/ESP32 which has no plans to release BLE/WiFi low-level code nor to document the corresponding radio peripherals.

Speaking as a NuttX maintainer, openness is a huge factor since NuttX does not include third-party HALs. For instance, BLE support for Nordic 52* is being added with a link-layer written from scratch following Apache 2.0 license, and this was possible since all the corresponding peripherals are documented. There's work in progress to support ESP32 by calling into the binary blob, which goes against the goal but it is more of a pragmatic solution (and this actually involves Espressif working towards supporting NuttX and remove FreeRTOS specific code from the blobs).

So, yes, please fully document RADIO peripherals. You can keep your stack propietary in such case but of course opening this as well would be a huge advantage over Espressif solutions. Moreover, it allows anyone to inspect this critical portions of the code for vulnerabilities and propose fixes.

That said, thank you for opening this issue, asking the community is the right step =)

protobits avatar Oct 27 '20 14:10 protobits

Thanks for publishing your SDK under an open source license!! I also hope you'll be able to provide the complete documentation of the radios and/or source code of the wifi/ble stacks.

As the maintainer of InfiniTime, an open source firmware for Pine64 PineTime, I decided to switch the BLE stack from NRF Softdevice to NimBLE mainly because NimBLE is open source. An integration of the BL602 radio into NimBLE would also be awesome!

JF002 avatar Oct 27 '20 16:10 JF002

Hi @JF002 recently @v01d worked porting NimBLE to NuttX. Please take a look at his repo: https://github.com/v01d/incubator-nuttx/tree/nrf_ble Did you already test NuttX on Pine64 PineTime with LVGL?

acassis avatar Oct 27 '20 17:10 acassis

@Pine-A64 can you explain a bit more about the challenge? I'm not sure I follow the idea of achieving a blob-free wifi without vendor documentation, unless you reverse engineer the blobs.

protobits avatar Oct 28 '20 01:10 protobits

@sipeed comment on Twitter:

only 3 lib: libblecontroller.a, libatcmd.a, libbl602_wifi.a and they are un-obfuscated, you can easily disassembling it

DurandA avatar Oct 28 '20 01:10 DurandA

Hi @JF002 recently @v01d worked porting NimBLE to NuttX. Please take a look at his repo: https://github.com/v01d/incubator-nuttx/tree/nrf_ble Did you already test NuttX on Pine64 PineTime with LVGL?

I didn't know about NuttX until a few days ago :) I've seen references to NRF52 in the code, so it moght run on the PineTime, but I've not try it.

JF002 avatar Oct 28 '20 07:10 JF002

Yes @JF002 ! The nRF52 is well supported by NuttX. Actually @v01d ported NimBLE to run on NuttX on nRF52832. I'm testing it on Makerdiary nRF52832-MDK board! :-)

acassis avatar Oct 28 '20 14:10 acassis

@sipeed comment on Twitter:

only 3 lib: libblecontroller.a, libatcmd.a, libbl602_wifi.a and they are un-obfuscated, you can easily disassembling it

This feels a bit backwards when the vendor is seeking community response and has shown open mindedness regarding opening documentation. If these are reverse engineered maybe the vendor feels less pressure to officially document the required hardware.

protobits avatar Oct 28 '20 14:10 protobits

Hi All, thanks for your enthusiasm. After discussion, we decided to move one step further towards open source. We plan to provide one set of low level APIs on mac layer some time later, with that BL602 can work well as one high performance raw packet tranceiver. These APIs will cover HW encryption & deencryption/HW retransmission/HW packet filter/HW DateRate control/HW PowerTable/TSF/Qos/HW Backoff/HW Aggreation. We think these are powerful enough to import Mac80211 and supplicant to implement one open source stack. Things under this layer are related to the HW(RF/PHY) register settings, which can not be open. BTW, the original libs are also kept for other kind of users. Hope this is helpful

YafeiJin avatar Oct 28 '20 15:10 YafeiJin

That is very good news. Thank you for the efforts.

Avamander avatar Oct 28 '20 15:10 Avamander

@YafeiJin that is great news! :) Thank you!

maidenone avatar Oct 28 '20 16:10 maidenone

Thank you for Bouffalo Lab's contribution to open source community. BL602 is one of the best powerful RISCV based rfid chip i have ever seen. Wish more information will be offerd to construct "the age of interconnection". Let's make everything smart! LOL

JingyanChen avatar Oct 29 '20 05:10 JingyanChen

BL602 is one of the best powerful RISCV based rfid chip i have ever seen.

rfid? did you perhaps mean wireless? and is it the second ever RISCV based wireless solution on the market at this point? By on the market I mean announced 5 days ago. And by i have ever seen you mean "read the announcement"?

raszpl avatar Oct 29 '20 06:10 raszpl

Things under this layer are related to the HW(RF/PHY) register settings, which can not be open.

Can you please explain the reasons for that? Why can this not be open? It would be great to finally have an small wireless IoT platform without proprietary libraries/blobs, but where everything is available fully in source code.

laf0rge avatar Nov 07 '20 16:11 laf0rge

Things under this layer are related to the HW(RF/PHY) register settings, which can not be open.

Can you please explain the reasons for that? Why can this not be open? It would be great to finally have an small wireless IoT platform without proprietary libraries/blobs, but where everything is available fully in source code.

Licenses? If RF will be open, user can make wifi jammers etc.

gamelaster avatar Nov 07 '20 16:11 gamelaster

@laf0rge Potential regulatory and IP issues are the most likely cause.

Avamander avatar Nov 07 '20 17:11 Avamander

@laf0rge gamelatser&Avamander are right. We need to follow the rules.

YafeiJin avatar Nov 08 '20 01:11 YafeiJin

@laf0rge gamelatser&Avamander are right. We need to follow the rules.

Can you cite particular rules? Law and jurisdiction will suffice.

raszpl avatar Nov 08 '20 14:11 raszpl

@raszpl Really sorry that I don't know the details, just be informed.

YafeiJin avatar Nov 08 '20 14:11 YafeiJin

Licenses? If RF will be open, user can make wifi jammers etc.

You can make wifi jammers in any way you like already today. whether in pure analog/physical domain, or using softmac based Wifi chips.

If you give people a hammer, they can use that to put nails in the wall, or they can use it to kill another person. The majority of people luckily uses hammers in a constructive way. Did we outlaw hammers because they can be ued for illegal purposes? No, we didn't.

laf0rge avatar Nov 13 '20 11:11 laf0rge

@raszpl Really sorry that I don't know the details, just be informed.

Can you plese inquire on the specifid details? It is important to understand those details to determine if the argument is a real argument. Thanks for your efforts.

laf0rge avatar Nov 13 '20 11:11 laf0rge

@raszpl Really sorry that I don't know the details, just be informed.

Can you plese inquire on the specifid details? It is important to understand those details to determine if the argument is a real argument. Thanks for your efforts.

@laf0rge It literally isn't any of our business. They said they can't.

Avamander avatar Nov 13 '20 11:11 Avamander

@laf0rge It literally isn't any of our business.

Dont know about you, but open source radios are laf0rges business ;-)

They said they can't.

They said they wont and gave us unsubstantiated excuse with appeal to authority.

raszpl avatar Nov 13 '20 19:11 raszpl

@raszpl

Dont know about you, but open source radios are laf0rges business ;-) They said they wont and gave us unsubstantiated excuse with appeal to authority.

But not your business. They have their reasons, and it should be understood and acknowledged. An appeal to authority is totally valid when the authority is who decides.

Avamander avatar Nov 13 '20 21:11 Avamander

I am very interested in the company answering these questions including follow-ups - however in-depth they want to be.

BryanQuigley avatar Nov 13 '20 21:11 BryanQuigley

But not your business.

?

An appeal to authority is totally valid when the authority is who decides.

https://en.wikipedia.org/wiki/Argument_from_authority#Appeal_to_false_authority The authority here being vague "follow the rules".

raszpl avatar Nov 13 '20 23:11 raszpl