Avatar for tev

tev

Member since Jul 2023 • Last active Jan 2025
  • 8 conversations
  • 34 comments

Most recent activity

  • in Bangle.js
    Avatar for tev

    Yeah, I don't get any of those “Bluetooth:” lines in my system logs at all. I looked in /var/log and in the systemd journal for bluetooth.service, and they're nowhere to be found. Absolutely no feedback on loading firmware. I tried placing the firmware files in a few of the standard locations, but it doesn't seem to improve anything.

    Yes, Ubuntu 20.04 is a bit old, but it's still supported, and upgrading in my use case is a major undertaking (and I sometimes need to use “legacy” software which is increasingly difficult to get working on newer distros). I guess I could try booting a newer distro on a spare computer sometime and see what messages or behavior I get on it.

  • in Bangle.js
    Avatar for tev

    Strange. The forums post shows loading rtl8761bu_fw.bin, but my /lib/firmware/rtl_bt directory does not have that file. The closest filename present is rtl8761b_fw.bin.

    I found a Linux driver download on the manufacturer's website (http://www.edimax.com). This ZIP file contains a lib/firmware with a rtl8761bu_fw file (not quite the same naming scheme). Then it has lib/firmware/rtl_bt with a handful of other files in it and a lib/firmware/rtlbt with a rtl8761b_fw. This isn't very consistent with the organization of my system's /lib/firmware directory. I can't really make heads or tails of this.

  • in Bangle.js
    Avatar for tev

    This is all I get when I plug in the dongle:

    [3709401.040967] usb 2-1.7: new full-speed USB device number 85 using ehci-pci
    [3709401.158174] usb 2-1.7: New USB device found, idVendor=7392, idProduct=c611, bcdDevice= 2.00
    [3709401.158180] usb 2-1.7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [3709401.158182] usb 2-1.7: Product: Edimax Bluetooth Adapter
    [3709401.158183] usb 2-1.7: Manufacturer: Realtek
    [3709401.158185] usb 2-1.7: SerialNumber: 00E04C239987
    

    No mention of any firmware loading here or in any of my system logs, so I have no idea which firmware file to target. :(

  • in Bangle.js
    Avatar for tev

    I bought this Bluetooth dongle for a desktop computer running Ubuntu 20.04 LTS, using bluez. It works with my wireless headphones but does not get along with my Bangle.js 2. It regularly takes a dozen attempts or more to connect without giving an error, and even then it might only stay connected anywhere from a few seconds to a minute or two before erroring out and disconnecting, regardless of how close the dongle and watch are to each other. I have a laptop running the same version of Ubuntu, and its built-in Bluetooth works fine with the Bangle. Oddly, I tried this dongle on a Windows 10 system and it seemed to work fine there, too, so maybe the Linux drivers for that chipset are buggy?

    To preserve my sanity, I was thinking of trying to buy a different dongle in the hope that I get one that works better. Is there anyone here who successfully works with Bangle BLE on Ubuntu or a similar distro (like Debian or Raspberry Pi OS) who could suggest a specific dongle that seems to work well with it? Or any other suggestions for this problem?

  • in General
    Avatar for tev

    Thanks. It's a relief that the problem wasn't on my end, as I thought I would lose my mind figuring out what was wrong! :-)

  • in General
    Avatar for tev

    I'm trying to do development and have hit a brick wall with a strange problem I can't diagnose. E.showPrompt works fine on my physical Bangle.js, but it fails with an incomprehensible error message when I try to use it in an emulator. Even after clearing all of the persistent in-browser data for the Espruino Web IDE and starting on a clean slate, the following simple example doesn't work:

    E.showPrompt('foo', {
      title: 'bar',
      buttons: { "A": true, "B": false }
    }).then(function (arg) {
      console.log('test');
    });
    

    When I click a button, nothing inside the then() gets executed at all, and instead I get this console message:

    Uncaught Error: Unknown argspec 33352
    

    What does that even mean? I grepped the entire project directory and came up with no code matches for “argspec” at all.

    It works if I send it to my actual Bangle, but developing it that way right now is quite literally a pain in the neck—my vision isn't very good. I'd rather stick with the emulator most of the time.

  • in Bangle.js
    Avatar for tev

    That's a neat idea putting it in the App Loader, it'd just require writing a file after we set the time. The only issue is that watch reboots between App Loader runs would knock out the timings, and so if it was automatic it's possible it could end up configuring the PPM difference wrong.

    I thought about that. Maybe a sanity check could be performed that makes sure the watch's reported time isn't too far off from actual time, and if it is, the recalculation of the drift could be skipped for that occasion (perhaps with a warning message printed on the console, if desired). Or else have a way to just let the user manually request when the drift should be calculated and the time be adjusted, perhaps.

  • in Bangle.js
    Avatar for tev

    Thinking about that, I wonder whether something could be added to https://banglejs.com/apps/?id=widadjust to allow it to figure out the drift using GPS.

    It would be pretty nice if it had some means of measuring its own drift. Years ago I wrote my own clock drift corrector for a HP 50g graphing calculator, though instead of using GPS it was just based on my periodically entering the correct date and time and manually pressing a button right on the second, at which point it would calculate the corresponding drift. Just a couple of iterations of this quickly made it more accurate than a $50 quartz Timex watch. :)

    If there was a way for the app to receive an event when connecting to the App Loader and updating the date/time, it could then compare the new value to the current clock along with the last known date/time of adjustment in order to determine the drift itself.

Actions