jks
About
- Username
- jks
- Joined
- Visits
- 32,327
- Last Active
- Roles
- Member, Administrator, Moderator
- Points
- 331
Reactions
-
Cant find Kiwi (No I.P assigned)
-
IP address blacklist seemingly doesn't [true only for proxied Kiwis, fixed in v1.336]
Okay, today's v1.336 release now applies the ip blacklist to incoming connections made via the proxy. Because the filtering in done in the Kiwi server instead of iptables a Kiwi log entry is made when the blacklist filter hits. iptables is still used for non-proxy connections for performance reasons.
The "ipt" shell alias now automatically includes the "-v" argument so you can see the packet counter for the iptable filtering rules. I.e. an incrementing packet count means the blacklist filter has been hit. Use "iptz" or "iptc" to clear the counters. These aliases can be used on the admin page console tab. -
IP address blacklist seemingly doesn't [true only for proxied Kiwis, fixed in v1.336]
Okay, today's v1.336 release now applies the ip blacklist to incoming connections made via the proxy. Because the filtering in done in the Kiwi server instead of iptables a Kiwi log entry is made when the blacklist filter hits. iptables is still used for non-proxy connections for performance reasons.
The "ipt" shell alias now automatically includes the "-v" argument so you can see the packet counter for the iptable filtering rules. I.e. an incrementing packet count means the blacklist filter has been hit. Use "iptz" or "iptc" to clear the counters. These aliases can be used on the admin page console tab. -
IP address blacklist seemingly doesn't [true only for proxied Kiwis, fixed in v1.336]
You're using the proxy? Yeah, I realize now that none of the blacklist stuff will work if you're using the proxy.
This is something I'll have to fix. The reason I used iptables is that it's very efficient at filtering. I can't do nearly as well in the Kiwi code and I didn't want to impose a penalty on everyone since there is currently one default blacklist rule on every single Kiwi.
But when the proxy is in use from the Kiwi's perspective all the connection attempts appear to be coming from the single proxy ip (by definition). The reason you still see the actual user's ip in the log messages is that there is an extra step to uncover the true ip address when the proxy is in use. But this step is not visible to iptables. So for the proxy case I'm going to have to find an efficient way to filter in the Kiwi code.. -
Kiwi BBAI software installation instructions [updated 4-Mar-24]
I am currently using a couple of those stacking headers with the extra-long 8.5mm tails. The trick is to insert the pins only partially into the AI headers. This is not difficult because the insertion force is so great. The problem is to get all 46 pins aligned and moving together without bending any. The Kiwi board can go flush onto the new headers as usual. It gives you about 12mm more spacing between the two boards.
Not the best photo, but you can sort of get the idea. Also note the PMIC heatsink. It wasn't exactly what I wanted but is better than nothing. The random wires is a hack for the console serial port so I didn't have to wait on shipping for the special adapter cable from DigiKey. On the left going out of frame is the USB connection for the fan power.
-
Kiwi BBAI software installation instructions [updated 4-Mar-24]
I am currently using a couple of those stacking headers with the extra-long 8.5mm tails. The trick is to insert the pins only partially into the AI headers. This is not difficult because the insertion force is so great. The problem is to get all 46 pins aligned and moving together without bending any. The Kiwi board can go flush onto the new headers as usual. It gives you about 12mm more spacing between the two boards.
Not the best photo, but you can sort of get the idea. Also note the PMIC heatsink. It wasn't exactly what I wanted but is better than nothing. The random wires is a hack for the console serial port so I didn't have to wait on shipping for the special adapter cable from DigiKey. On the left going out of frame is the USB connection for the fan power.
-
BeagleBone AI
Below shows progress with an experiment to get a 14-channel configuration working using a BeagleBone AI. The challenge is to move as much processing to the second cpu core of the AI as possible so as not to impact the realtime requirements of serving the 14 audio channels (plus the usual 12-channel GPS etc.) It seems to work. A 14 audio DDC + 1 waterfall DDC configuration (rx14_wf1) was made to fit in the FPGA (LUTs now 97% full) by reducing the amount of CIC filtering logic slightly.
Note below that the processor temperature and clock speed are displayed. The cores are currently running at rate automatically adjusted based on temperature between 1.0 - 1.5 GHz due to the reduced cooling configuration I'm testing.
The Kiwi's internal WSPR extension is running on all 14 channels as a worst-case test since WSPR decoding is so cpu intensive. The fact that this works does not change the fact that Rob's wsprdaemon is the superior solution for anything but casual WSPR monitoring. In fact 14 channels was chosen in support of getting a single Kiwi to work in an all-band wsprdaemon setup.
Below is output from the Linux "ht" command. It shows how certain components of the software have been moved to new Linux processes separate from the main Kiwi process and "locked" to the second core of the processor. "kiwid" is the main process and is locked to cpu0 as seen in the "cpu" column. The other "kiwi.xxx" processes are locked to cpu1. Of interest here is the "kiwi.wsp" process which runs the collective WSPR decoding of all 14 channels.
This is just a progress report. There is a long list of work to do. -
Kiwi BBAI software installation instructions [updated 4-Mar-24]
I am currently using a couple of those stacking headers with the extra-long 8.5mm tails. The trick is to insert the pins only partially into the AI headers. This is not difficult because the insertion force is so great. The problem is to get all 46 pins aligned and moving together without bending any. The Kiwi board can go flush onto the new headers as usual. It gives you about 12mm more spacing between the two boards.
Not the best photo, but you can sort of get the idea. Also note the PMIC heatsink. It wasn't exactly what I wanted but is better than nothing. The random wires is a hack for the console serial port so I didn't have to wait on shipping for the special adapter cable from DigiKey. On the left going out of frame is the USB connection for the fan power.
-
Kiwi BBAI software installation instructions [updated 4-Mar-24]
[updated 4-Mar-24]
SUBSEQUENT UPDATES:
If you subsequently update the Beagle software on your AI, and that update installs a new kernel,
then you will have to reinstall the kernel-related Kiwi changes manually as follows.
First, make sure you are running the latest Kiwi update.
Then type:
cdp
mst
make install_kiwi_device_tree
reboot (not just a server restart, a full Beagle reboot)
[updated 9-Feb-22]
If you need to re-flash your BBAI with a Beagle Debian 9 factory image there are now instructions for doing so on the website: http://kiwisdr.com/quickstart/index.html#id-dload Afterwards, you will still need to follow the instructions below to install the Kiwi software. Currently there is no BBAI image file that already has the Kiwi software pre-installed.
[updated 3-Jun-21]
Do NOT power the Kiwi + BBAI combination from the Kiwi DC jack. The common-mode choke on the Kiwi board may not handle the combined current and can burn up. Power from the BBAI USB-C jack instead. The Kiwi board will receive power from the BBAI.
[original message 10/2019]
Using a BeagleBone AI with the KiwiSDR board is currently UNDER DEVELOPMENT and UNSUPPORTED.
Only attempt the following if you have Linux, system/networking admin and electronics skills.
Use at your own risk. We have NO RESPONSIBILITY if you burn up your BBAI and/or Kiwi due to improper cooling/operation.
REQUIRED:
You MUST monitor the BBAI cpu temperature via the Kiwi stats UI or shell commands. Try and keep the temp below 50C.
You sometimes get weird behavior above 50C I've found even though 50C isn't really that hot.
Use a 90 mm diameter or larger fan that moves *lots* of air. Point it at end of the board stack with the SMA connectors to maximize BBAI cpu cooling.
You could wire the fan to the black/red wires of a very short, cutoff USB-A cable that plugs into the BBAI USB back by the sd card slot.
Do NOT use the Kiwi metal enclosure with its stock 30mm fan. That fan will not move enough air across the cpu heatsink.
See later posts in this thread for examples of modified enclosures that are reported to work.
Use a 5V 3A minimum USB-C power supply.
HARDWARE NOTES:
BBAI WiFi has not been validated. Use Ethernet instead.
More optimized cooling has not been finalized.
e.g. smaller fan, different heatsinks, header risers to increase inter-board spacing, enclosure effects.
Note that the micro sd card slot is inverted compared to the Beaglebone Black/Green (i.e. flip cards over compared to BBB/G).
STATUS:
14-channel mode can be enabled (BBAI only) on admin "mode" tab.
14 simultaneous kiwirecorder connections can get audio underruns unless running at 1.5 GHz. This is being debugged.
Running more than 6 WSPR extensions doesn't work as well as first thought. This is being debugged.
Remember that you can put something like this in a bookmark:
my_kiwi:8073/?ext=wspr,40m&mute&win2&ext=wspr,30m&mute&win3&ext=wspr,20m&mute etc.
FIRST TIME SETUP:
Find Ethernet ip address assigned by your DHCP. Login using ssh/PuTTY as "debian" "temppwd".
"sudo bash" to get a root shell. With this Debian distro you cannot login as "root" [no password] anymore, i.e. it's more secure.
Use the instructions at the following webpage to update/upgrade the BBAI software:
Leave out the use of "sudo" as you are already root.
Important: Do not install the TI deep learning tools listed at the end of the "update distribution components" section ("install -y ti-tidl mjpg-streamer-opencv-python").
**Ignore** the sections about WiFi, USB and Cloud9. WiFi has not yet been tested with the Kiwi software.
====> https://beagleboard.org/upgrade
After rebooting from the update login again and from a root shell do:
cd [goes to /root]
git clone https://github.com/jks-prv/Beagle_SDR_GPS.git
cd Beagle_SDR_GPS
make clean
make
make install
Will take a while (up to 40 minutes) as many packages have to be installed prior to building the Kiwi software.
Press the return key when prompted to reboot.
Kiwi server should be running ~45 seconds after reboot.
After the install/reboot the shortcut aliases in /root/.bashrc are available and also
tools for monitoring the cpu temperature and tuning the frequency (see "BBAI" section of /root/.bashrc).
Type "cf1" to set clock freq to 1 GHz from the default 500 MHz.
Type "ct" to check cpu temp (divide by 1000 for deg C).
Type "cm" for a continuous freq/temp monitoring.
Type "ht" for a nice process viewer to see cpu usage.
XXX Only use "cf15" to run at 1.5 GHz if you have sufficient cooling airflow! XXX
Monitor your cpu temp carefully!
-
Kiwi BBAI software installation instructions [updated 4-Mar-24]
The rationale for the device tree / kernel overlays change is given here: https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Where_did_the_slots_file_go.3F
You should be able to use the "clone" admin function. All that does is copy over .json file to kiwi.config/ and do an immediate restart. You'll have to re-select 14-channel mode and anything else you've changed of course.