Skip to content

Instantly share code, notes, and snippets.

@tienntr
tienntr / lsttyUSB
Created November 15, 2024 06:56
List ttyUSB devices and their properties
#!/bin/bash
for device in /dev/ttyUSB*; do
if [ -e "$device" ]; then
# Get the device path from udevadm
dev_path=$(udevadm info -q path -n "$device")
# Construct the full path
full_path="/sys$dev_path"
@tienntr
tienntr / install-vscode-server.sh
Created April 19, 2024 03:08
Install VS Code server
#!/bin/sh
set -eu
if [ "$#" -ne 1 ]; then
echo "You must pass VS Code commit ID"
exit 1
fi
COMMIT_ID=$1
@tienntr
tienntr / ChangeUA.md
Last active September 26, 2024 07:09
User agent changing

Change user-agent with privoxy

/etc/privoxy/user.action

{+hide-user-agent{Mozilla/5.0 (Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0} \
 +add-header{User-Agent: Mozilla/5.0 (Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0} \
}
/
@tienntr
tienntr / qemu_riscv64_virt.dts
Created September 7, 2023 14:03
DTS collection
/dts-v1/;
/ {
#address-cells = <0x02>;
model = "riscv-virtio,qemu";
#size-cells = <0x02>;
compatible = "riscv-virtio";
flash@20000000 {
bank-width = <0x04>;
cd /etc/pki/rpm-gpg
curl -O http://springdale.princeton.edu/data/springdale/7/x86_64/os/RPM-GPG-KEY-springdale
cd /etc/yum.repos.d
cat << EOF > Springdale-SCL.repo
[Springdale-SCL]
name=Springdale - SCL
baseurl=http://springdale.princeton.edu/data/springdale/SCL/$releasever/$basearch
gpgcheck=1
enabled=1
@tienntr
tienntr / bitbang_freq.txt
Last active October 2, 2023 06:37
OpenOCD note
In theory:
jtag_khz = cpu_khz / cycles_per_each_bitbang_pass
cycles_per_each_bitbang_pass = delay_iters_per_pass * cycles_per_delay_iter + bitbang_cycles_without_delay_per_pass
= cycles_per_delay_iter * (delay_iters_per_pass + speed_offset)
where speed_offset = bitbang_cycles_without_delay_per_pass / cycles_per_delay_iter
jtag_khz = (cpu_khz / cycles_per_delay_iter) / (delay_inters_per_pass + speed_offset)
= speed_coeff / (delay_iters_per_pass + offset)