AsteroidOS / meta-smartwatch

OpenEmbedded layer that provides support for various smartwatches.
24 stars 18 forks source link

catfish: Add bluetooth_6lowpan #231

Open beroset opened 11 months ago

beroset commented 11 months ago

This is intended to be a first step to implementing a generic data transfer profile over Bluetooth as described here: https://github.com/AsteroidOS/asteroid-btsyncd/issues/22

beroset commented 11 months ago

Now it appears to build but I get some linker errors:

  Building modules, stage 2.
  MODPOST 24 modules
ERROR: "l2cap_chan_set_defaults" [net/bluetooth/bluetooth_6lowpan.ko] undefined!
ERROR: "l2cap_chan_del" [net/bluetooth/bluetooth_6lowpan.ko] undefined!
ERROR: "l2cap_chan_send" [net/bluetooth/bluetooth_6lowpan.ko] undefined!
ERROR: "l2cap_add_psm" [net/bluetooth/bluetooth_6lowpan.ko] undefined!
ERROR: "l2cap_chan_close" [net/bluetooth/bluetooth_6lowpan.ko] undefined!
ERROR: "l2cap_chan_put" [net/bluetooth/bluetooth_6lowpan.ko] undefined!
ERROR: "l2cap_chan_connect" [net/bluetooth/bluetooth_6lowpan.ko] undefined!
ERROR: "l2cap_chan_create" [net/bluetooth/bluetooth_6lowpan.ko] undefined!
make[1]: *** [scripts/Makefile.modpost:91: __modpost] Error 1
make: *** [Makefile:1128: modules] Error 2

Since these are all defined in l2cap_core which is linked and part of the bluetooth subsystem, it may be that there is some kind of build sequence error.

To test that, I did the following:

devtool linux-catfish -c clean
devtool linux-catfish -c menuconfig
devtool linux-catfish

In menuconfig, I'm enabling the relevant modules, CONFIG_6LOWPAN=m and CONFIG_BT_6LOWPAN=m, but this experiment yields the exact same errors.

If anyone can help explain why, or how to fix it, I'd be grateful!

beroset commented 11 months ago

Thanks to @argosphil and @kido, the problem of missing exports was found and fixed.

FlorentRevest commented 9 months ago

The change per-se looks good to me but I feel we should mature our 6lowpan experiments and strategy a bit more before we start onboarding code changes that are this big.

If having this merged significantly eases your pain working on 6lowpan then fair enough but I see no rush in merging this