Although that’s most likely not your case if you got such a cable, but I did manage to break firmware on mine completely. So let’s start with restoring it
Both generations of Kong make use of NXP LPC1768 MCU (Cortex-M3) (along with Xilinx Spartan 6 FPGA, by the way), that can be reflashed over SWD
My guess was that both SWDIO and SWDCLK can be accessed via certain testpoints on the MLB. But there’re plenty of them, and the MCU is a BGA chip, so no continuity testing without desoldering
Luckily, @1nsane_dev sent me a dead 2nd-gen Kong motherboard for free. I desoldered everything from it and located SWD test points (LPC1768 BGA100 pinout is available in the official datasheet). Here they are:
Although 1st-gen and 2nd-gen boards are a little bit different, SWD test points are located at the same places. But be careful, the TPs are very fragile - I destroyed one recently when I tried to solder them again for making better photos for this thread!
Then I soldered wires to them and connected to Waveshare’s STLink V2 clone. Although it’s intended to be used with STM32s only, it happily works with this NXP MCU as well
Default OpenOCD’s config for LPC1xxx sets 10 kHz tckrate, which leads to weird bugs whenever you try to access any fair amount of memory - e.g. you can read 16 bytes of memory just fine, but not 1024. And of course flashing worked neither
I did set it to 4 MHz and then it started to work flawlessly. The cable booted in disk mode - reflashing with astrisctl and it can now be recognized by Astris itself:
Now let’s examine common problems
The first one is damaged motherboard. There’re 2 broken tracks (one per side) that come from USB power of both cords. Something wasn’t powered up at all?
Here they are already fixed with little pieces of copper wires, but you can recognize their locations anyway:
Another problem is connector:
1) It’s weirdly ringed (continuity testing) with multimeter
2) Its bottom side’s pin pad (which is meant to be connected with the port) looks recessed. Not sure you can see that on the photo below, but it is. This, I believe, makes connection between it and the female port very unstable or just not working at all
So, it is to be replaced. As I mentioned in my Lightning write-up, Kong’s connector doesn’t have any logic inside, as it’s handled by MCU and FPGA inside the enclosure. The pinout is written with silk on the MLB. I replaced the connector with jumper wires and a breakout board
Now, the last problem - Kong doesn’t seem to like modern HOSTIDs (again, look at my Lightning write-up in case you don't know what this means):
But that can be fixed easily by setting disableIdCheck environmental variable:
astrisctl setenv disableIdCheck 1
(Only available in newer firmwares such as 0.52 or 0.49)
By the way - I'm looking for a manufacturer that can produce a little batch (100-150 pcs) of custom Lightning-connectors with short cords (10-15 cm) with a style of Kong's and/or Kanzi's ones. No need for any HiFive logic - I just need an access to all of the 8 pins
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Back in February 2019, someone told me about “SHSH tag length underflow”, that allows “arbitrary memset”. The person failed to tell me which ROM it’s for
But for A4 ROM I found something similar. Look at this line of code:
Here is my little thread about Lightning video adapters – also known as Haywire – which are actually computers that feature Apple Secure Boot and run Darwin kernel
There’re 2 kinds of Haywire:
1. Lightning Digital AV Adapter (b137ap/iAccy1,1) – Lightning to HDMI adapter, supports both video and audio
2. Lightning to VGA Adapter (b165ap/iAccy1,2) – doesn’t support audio output for obvious reason
I was planning to keep this knowledge private, but damn it. This is a thread about Apple SWD cables, some things they can do and how to use them
For now I only have got KongSWD, so everything below applies to this type of cable first of all
f you’re reading this thread, you’ve most likely seen many photos with these weird Apple internal cables posted here, on Twitter, — Gorilla, Kong, Kanzi, Chimp, Flamingo, etc.