Posts

QEMU usb passthrough and the CC2540 BLE packet sniffer

Image
I have one piece of hardware that has stubbornly resisted the permanent move to Debian in my office, an old Texas Instruments CC2540 USB dongle that has Bluetooth Low Energy packet sniffing firmware installed on it. If you're doing anything out of the ordinary with a BLE device, such as fiddling with the advertisement data or trying to troubleshoot a GATT issue, you will eventually end up with a packet sniffer of some kind. When I originally bought it, the machine I plugged it into was running Windows Server 2016 and it worked fine. However, after I had upgraded that box to Windows Server 2019 the drivers stopped working. I had no further use for it at that stage so I put the CC2540 away. The need for a packet sniffer has returned, hence out it came again. Only now, that machine that was running Windows Server is running Debian and it appears there is no way to directly get something like Wireshark to talk to it. QEMU to the rescue (again) I do keep a Windows 10 virtual mac...

That magical word: Workstation

Image
Or how I came to own a HP 8760w 17" laptop I am reading a lot of retro-computing articles lately, I grew up in the 8 bit era and I have strong nostalgia for it. It does help to be realistic though, for all the love that things like the Amiga get, they were a dead end in terms of computing. What really ate the world was the boring old IBM-PC: flickery, interlaced multi-sync monitors, beige boxes and productivity software. There was another, relatively brief path the industry could have gone down though. The Workstation was king In retrospect, it might be a bit tough to put a circle around what constituted a workstation . Is a PERQ a workstation? Probably. Xerox Alto and Star? Definitely. Symbolics Lisp machines? Not sure. Probably? The real success stories came out of Apollo , Sun, HP,IBM,NeXT,DEC and Silicon Graphics. For a time it was a hot market, especially in what was known then as technical computing: research, manufacturing, CAD, graphics, simulations. If...

3D printing for prototyping: part 3

Image
Success! The trick to having this part not get stuck to the bottom of the resin bath on the AnyCubic was to print it sideways! Not sure I really needed the island on it but it made me feel better. Lychee Slicer doing the job The printed part is functional - kind of. It fits the plastic injected moulded parts, a long way from perfect but certainly good enough to get changes to the CAD roughed out before handing it off to somebody who knows what they are doing. For this part, I ended up washing and drying it a lot more carefully before placing it in UV light to harden the resin up. On the left is the injected moulded part, in the centre is the last failed print, on the right is the working print What needs to change There are 2 o-rings in the current design, one which was placed there originally but doesn't always work, and the other one suggested by a local engineering firm which does work, but the housing isn't really designed to take it. The o-ring needs to be re...

Polidea's RxAndroidBle and why you should use it

Image
Bluetooth on Android: it sucks When we first started working on SmartShepherd, Bluetooth LE seemed like a logical choice for tracking interactions between animals. It's shortcomings were major advantages when you don't need an absolute location: it can't transmit far and it can only transmit limited data in an advertisement. Once it was determined that BLE was going to do what was required for the algorithm I had in mind, the implementation became fairly straightforward Testing is one thing, the real thing is much harder Of course this all fell to pieces as soon as we did our first field test. I had never had any more than 10 or so devices active at once to prove the software did what I wanted, and the Android based app we used to assign devices to animals and to read the data afterwards seemed fairly straightforward in the lab. 10 devices is a lot different to 250 though. At around the 150 mark strange things started to happen with the Android app. It locked up,...

Cyberpunk 2077 for the casual gamer

Image
I am definitely a casual gamer. I buy perhaps one or two games a year, fire them up, never finish them and move back on to working for a living. Owning an older Acer Nitro does make getting new games a little more attractive though. My favourite game of all time is the same one many people my age have: Deus Ex Deus Ex was something of an obsession for a while. I loved the game play. If you're not familiar with it, it's a near future role playing game where the protagonist can upgrade themselves with various modifications to make them a better fighter, or better hacker (broadly anyway). As you acquire different skills, your gameplay changes and how you approach each level changes. The first run through I really did treat it like an RPG, not sure whether my actions would affect the story. Most that was a carefully crafted illusion. The storyline does branch somewhat but mostly it's on rails with the rails hidden fairly carefully. On subsequent playthroughs of cou...

IETab: The Internet Explorer compatibility tab for Chrome

Image
Older Cisco and HPE gear provides web interfaces that just don't work any more with modern versions of Firefox or Chrome. This isn't a massive deal: the preferred way to set up an old Cisco 3560 switch is to use the command line via a serial cable anyway. The Integrated Lights Out stuff on older HPE gear is a little more problematic. Enter the Chrome Internet Explorer extension: IETab To get around this, there is a great Chrome extension called IETab . Installation is simple and it works superbly! Here it is - enabling me to use the web interface on my office 3560, which is great as I can now enable POE where I need it. I will eventually work out how to use the CLI on the Cisco (I need some fancy VLAN stuff happening on there) but for now, we're golden.

3D printing for prototyping part 2: embracing failure

Image
In part 1, I set up the Anycubic Mono and printed out the demo model which went OK. Not perfect, but good enough as a learning experience. Now I want to move on to reproducing the existing SmartShepherd parts before modifying them. Step one: Turn a step file into something the Anycubic understands The overall process sounds simple enough: take your CAD file (generally a STEP file), export that as an STL file (which describes the surface of your model), import that into a slicer, get the slicer to generate a file tailored for your 3D printer. The original CAD models were built with SolidWorks, a fabulous bit of software that has a jaw-dropping pricetag. There are alternatives but all of them seem to suck. FreeCAD sounds great, but I can't get it to reliably select parts of my model without crashing. Varicad ($910USD per year with a 30 day trial period) seems much easier to use and respects the part grouping that was originally created in SolidWorks, unlike FreeCAD. Varic...