<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wiegert.link/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Damme</id>
	<title>World Wide Wiegert Wiki - WWWW - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wiegert.link/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Damme"/>
	<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php/Special:Contributions/Damme"/>
	<updated>2026-05-06T08:56:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Main_Page&amp;diff=446</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Main_Page&amp;diff=446"/>
		<updated>2025-05-26T13:08:02Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Damme's stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== World Wide Wiegert Wiki - The best wiki in the world! ==&lt;br /&gt;
 Skapa en sida genom att skapa dig ett konto, editera denna sida och skriv länken inom brackets&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[namn på sidan]]&amp;lt;/nowiki&amp;gt; - spara och klicka på länken så är det bara att skriva vidare!&lt;br /&gt;
&lt;br /&gt;
== Damme's stuff ==&lt;br /&gt;
[[Daniel Wiegert - About me]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;[[Damme's linux stuff]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Damme's windows stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu Server LTS]]&lt;br /&gt;
&lt;br /&gt;
[[Hårdvara]]&lt;br /&gt;
&lt;br /&gt;
[[Development]]&lt;br /&gt;
&lt;br /&gt;
[[Dammes other stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Resor mm]]&lt;br /&gt;
&lt;br /&gt;
[[Hiseeu 5MP PTZ gk7605v100 sc223a]]&lt;br /&gt;
&lt;br /&gt;
== Plupp's stuff ==&lt;br /&gt;
&lt;br /&gt;
[[Joachim's research page]]&lt;br /&gt;
&lt;br /&gt;
[[Useful EXWINGS stuff]]&lt;br /&gt;
&lt;br /&gt;
== Thesse's stuff ==&lt;br /&gt;
&lt;br /&gt;
[[CHANG-ES Interim wiki]] (needs login access)&lt;br /&gt;
&lt;br /&gt;
== Other pages ==&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;[[Cheat sheet]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MediaWiki format help]]&lt;br /&gt;
&lt;br /&gt;
[[Sandbox]] In here you can test wiki language.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Main_Page&amp;diff=445</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Main_Page&amp;diff=445"/>
		<updated>2025-05-26T13:07:44Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Damme's stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== World Wide Wiegert Wiki - The best wiki in the world! ==&lt;br /&gt;
 Skapa en sida genom att skapa dig ett konto, editera denna sida och skriv länken inom brackets&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[namn på sidan]]&amp;lt;/nowiki&amp;gt; - spara och klicka på länken så är det bara att skriva vidare!&lt;br /&gt;
&lt;br /&gt;
== Damme's stuff ==&lt;br /&gt;
[[About me - Daniel Wiegert]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;[[Damme's linux stuff]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Damme's windows stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu Server LTS]]&lt;br /&gt;
&lt;br /&gt;
[[Hårdvara]]&lt;br /&gt;
&lt;br /&gt;
[[Development]]&lt;br /&gt;
&lt;br /&gt;
[[Dammes other stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Resor mm]]&lt;br /&gt;
&lt;br /&gt;
[[Hiseeu 5MP PTZ gk7605v100 sc223a]]&lt;br /&gt;
&lt;br /&gt;
== Plupp's stuff ==&lt;br /&gt;
&lt;br /&gt;
[[Joachim's research page]]&lt;br /&gt;
&lt;br /&gt;
[[Useful EXWINGS stuff]]&lt;br /&gt;
&lt;br /&gt;
== Thesse's stuff ==&lt;br /&gt;
&lt;br /&gt;
[[CHANG-ES Interim wiki]] (needs login access)&lt;br /&gt;
&lt;br /&gt;
== Other pages ==&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;[[Cheat sheet]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MediaWiki format help]]&lt;br /&gt;
&lt;br /&gt;
[[Sandbox]] In here you can test wiki language.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=World_Wide_Wiegert_Wiki_-_WWWW:Copyrights&amp;diff=422</id>
		<title>World Wide Wiegert Wiki - WWWW:Copyrights</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=World_Wide_Wiegert_Wiki_-_WWWW:Copyrights&amp;diff=422"/>
		<updated>2024-08-31T14:07:07Z</updated>

		<summary type="html">&lt;p&gt;Damme: Created page with &amp;quot;Copyright? Its on the internet right? There is no copyright ^^ Unless some page specifically says otherwise.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Copyright? Its on the internet right? There is no copyright ^^ Unless some page specifically says otherwise.&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=409</id>
		<title>Damme's linux stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=409"/>
		<updated>2024-02-28T10:26:52Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Docker */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Profile.d/damme.sh ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
alias ls='ls --group-directories-first -hF --color=auto'&lt;br /&gt;
alias more='less'&lt;br /&gt;
alias nano='nano -w'&lt;br /&gt;
alias du='du -c -h'&lt;br /&gt;
alias diff='diff --color=auto'&lt;br /&gt;
alias grep='grep --color=auto -ni'&lt;br /&gt;
alias fgrep='fgrep --color=auto'&lt;br /&gt;
alias egrep='egrep --color=auto'&lt;br /&gt;
alias free='free -h'&lt;br /&gt;
alias ip='ip -color=auto'&lt;br /&gt;
alias ll='ls -l'&lt;br /&gt;
alias la='ls -A'&lt;br /&gt;
alias l='ls -lrtha'&lt;br /&gt;
&lt;br /&gt;
function cdl(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function cdal(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls -al&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export LESS=-R&lt;br /&gt;
export LESS_TERMCAP_mb=$'\E[1;31m'     # begin blink&lt;br /&gt;
export LESS_TERMCAP_md=$'\E[1;36m'     # begin bold&lt;br /&gt;
export LESS_TERMCAP_me=$'\E[0m'        # reset bold/blink&lt;br /&gt;
export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video&lt;br /&gt;
export LESS_TERMCAP_se=$'\E[0m'        # reset reverse video&lt;br /&gt;
export LESS_TERMCAP_us=$'\E[1;32m'     # begin underline&lt;br /&gt;
export LESS_TERMCAP_ue=$'\E[0m'        # reset underline&lt;br /&gt;
&lt;br /&gt;
export EDITOR=&amp;quot;nano&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export TERM='xterm-256color'&lt;br /&gt;
# if term == rxvt-unicode-256color &amp;amp;&amp;amp; file not exists -&amp;gt; xterm-256color&lt;br /&gt;
&lt;br /&gt;
_islinux=false&lt;br /&gt;
[[ &amp;quot;$(uname -s)&amp;quot; =~ Linux|GNU|GNU/* ]] &amp;amp;&amp;amp; _islinux=true&lt;br /&gt;
&lt;br /&gt;
_isarch=false&lt;br /&gt;
[[ -f /etc/arch-release ]] &amp;amp;&amp;amp; _isarch=true&lt;br /&gt;
&lt;br /&gt;
_isxrunning=false&lt;br /&gt;
[[ -n &amp;quot;$DISPLAY&amp;quot; ]] &amp;amp;&amp;amp; _isxrunning=true&lt;br /&gt;
&lt;br /&gt;
_isroot=false&lt;br /&gt;
[[ $UID -eq 0 ]] &amp;amp;&amp;amp; _isroot=true&lt;br /&gt;
&lt;br /&gt;
C=$(cat /etc/hostname | md5sum)&lt;br /&gt;
I=&amp;quot;${C:0:1}&amp;quot;&lt;br /&gt;
H=&amp;quot;${C:1:2}&amp;quot;&lt;br /&gt;
CSERV=$((0x${H}))&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -lt 16 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV+16))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -gt 231 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV-25))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
CSERV=&amp;quot;$(tput setaf $CSERV)&amp;quot;&lt;br /&gt;
CNONE=&amp;quot;$(tput sgr0)&amp;quot;&lt;br /&gt;
CROOT=&amp;quot;$(tput setaf 48)&amp;quot;&lt;br /&gt;
if $_isroot; then&lt;br /&gt;
  CROOT=&amp;quot;$(tput setaf 196)&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
CPATH=&amp;quot;$(tput setaf 38)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export PS1=&amp;quot;[$CSERV\u@\h$CNONE]$CPATH\w$CROOT\$$CNONE &amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[ -f /bin/neofetch ]] &amp;amp;&amp;amp; neofetch --disable packages gpu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Text manipulation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sed -e # Show result, Will not change anything&lt;br /&gt;
&lt;br /&gt;
sed -i 's/[Search]/[Replace]/g' [File]&lt;br /&gt;
sed -i '/[row containing]/ s/$/ [append]/' [File] # append to end of line of search&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
=== SOCKS5 proxy ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh -C -N -D [local port] [name]@[server]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate SSH keys ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#generate all keys - don't ask for passkey, save in ~/.ssh/id_rsa&lt;br /&gt;
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_rsa&lt;br /&gt;
&lt;br /&gt;
# if ~/.ssh/id_rsa.pub is missing!&lt;br /&gt;
ssh-keygen -y -f ~/.ssh/id_rsa &amp;gt; ~/.ssh/id_rsa.pub&lt;br /&gt;
&lt;br /&gt;
# copy local 'id_rsa.pub' to remote host '~/.ssh/authorized_keys'&lt;br /&gt;
ssh-copy-id user@host&lt;br /&gt;
&lt;br /&gt;
# Generate all keys for server&lt;br /&gt;
ssh-keygen -A&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sshpiper auth process:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
(client)[id_rsa.pub] -&amp;gt; (sshpiper)[authorized_keys] [id_rsa.pub] -&amp;gt; (target) [authorized_keys]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pacman ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pacman -F $filename # Search package including $filename&lt;br /&gt;
pacman -Qo $filename # Search package including $filename&lt;br /&gt;
pacman -Ss $package # Search $package&lt;br /&gt;
pacman -S $package # Install $package&lt;br /&gt;
pacman -R $package # Remove $package&lt;br /&gt;
&lt;br /&gt;
# remove partial packages:&lt;br /&gt;
find /var/cache/pacman/pkg/ -iname &amp;quot;*.part&amp;quot; -delete&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filesystems and LVM ==&lt;br /&gt;
=== MDADM ===&lt;br /&gt;
Growing -&amp;gt; https://raid.wiki.kernel.org/index.php/Growing&lt;br /&gt;
&lt;br /&gt;
=== LVM ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
lvcreate -L [SIZE]g -n [NAME] [VG] /dev/[PV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type cache --cachemode writethrough -L 20G -n dataLV_cachepool dataVG/dataLV /dev/fast&lt;br /&gt;
# writethrough ensures that any data written will be stored both in the cache pool LV and on the origin LV. The loss of a device associated with the cache pool LV in this case would not mean the loss of any data;&lt;br /&gt;
# writeback ensures better performance, but at the cost of a higher risk of data loss in case the drive used for cache fails.&lt;br /&gt;
&lt;br /&gt;
lvconvert --splitcache MyVolGroup/rootvol&lt;br /&gt;
lvconvert --uncache MyVolGroup/rootvol&lt;br /&gt;
&lt;br /&gt;
lvresize --resizefs -L +XG vg/lv &lt;br /&gt;
&lt;br /&gt;
# Move LV Between physical drives in same VG - Can be done LIVE&lt;br /&gt;
# Create mirror&lt;br /&gt;
lvconvert -m 1 [LV] [NEW DEV] &lt;br /&gt;
# wait for it to copy data (Check via lvs)&lt;br /&gt;
# Remove mirror&lt;br /&gt;
lvconvert -m 0 [LV] [OLD DEV] &lt;br /&gt;
&lt;br /&gt;
# Alt: pvmove -n [LV] [OLD DEV] [NEW DEV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type thin-pool -n thin-pool -L size vg [pv?]&lt;br /&gt;
&lt;br /&gt;
lvs -o +devices&lt;br /&gt;
&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
# Logical volume [LVM] is used by another device.&lt;br /&gt;
kpartx -d /dev/mapper/[LVM]&lt;br /&gt;
#dmsetup ls&lt;br /&gt;
dmsetup remove [LVM]&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fstab ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/source /destination none defaults,bind 0 0&lt;br /&gt;
&lt;br /&gt;
#check fstab:&lt;br /&gt;
mount -fav&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pv -s 20G &amp;lt; /dev/foo &amp;gt; /dev/baz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat &amp;gt; DiskSpeedResults.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resue Data ===&lt;br /&gt;
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html&lt;br /&gt;
&lt;br /&gt;
=== BTRFS ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Resize BTRFS&lt;br /&gt;
btrfs filesystem resize max /path&lt;br /&gt;
btrfs device usage /path&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raid sas etc ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# spin down sas&lt;br /&gt;
sdparm --readonly --command=stop /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# spin up sas&lt;br /&gt;
sdparm --command=start /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# check status, &amp;quot;Not ready&amp;quot; = not spinning, &amp;quot;Ready&amp;quot; = Spinning&lt;br /&gt;
sdparm --command=ready /dev/xxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Low level format SATA ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
hdparm -I /dev/sda&lt;br /&gt;
# if frozen need to unfreeze&lt;br /&gt;
hdparm --user-master u --security-set-pass llformat /dev/sd_&lt;br /&gt;
hdparm --user-master u --security-erase llformat /dev/sd_&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker ps [-a/--all] # print (all) running containers&lt;br /&gt;
docker exec -it [container_id] /bin/bash # run shell in container#&lt;br /&gt;
docker update --cpuset-cpus=&amp;quot;1-5&amp;quot; [container_id]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reinstall Portainer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker stop portainer&lt;br /&gt;
docker rm portainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&lt;br /&gt;
docker stop portainer &amp;amp;&amp;amp; docker rm portainer &amp;amp;&amp;amp; docker pull portainer/portainer-ce &amp;amp;&amp;amp; docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Generate rsa keys for encrypted communication between &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#server:&lt;br /&gt;
export PASS=SuperSecret&lt;br /&gt;
export SUBJ='/C=SE/L=Skällinge/O=Unimatrix'&lt;br /&gt;
export DAYS=3650&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -aes256 -out ca-key.pem -passout pass:$PASS 4096&lt;br /&gt;
openssl req -new -x509 -days $DAYS -key ca-key.pem -sha256 -out ca.pem -passin pass:$PASS -subj $SUBJ&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -out server-key.pem 4096&lt;br /&gt;
&lt;br /&gt;
#client:&lt;br /&gt;
openssl req -subj &amp;quot;/CN=$HOSTNAME&amp;quot; -sha256 -new -key server-key.pem -out server.csr&lt;br /&gt;
&lt;br /&gt;
echo subjectAltName = DNS:$HOSTNAME,IP:10.0.0.200,IP:127.0.0.1 &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
echo extendedKeyUsage = serverAuth &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out server-cert.pem -extfile extfile.cnf -passin pass:$PASS&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -out key.pem 4096&lt;br /&gt;
openssl req -subj '/CN=client' -new -key key.pem -out client.csr&lt;br /&gt;
echo extendedKeyUsage = clientAuth &amp;gt; extfile-client.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out cert.pem -extfile extfile-client.cnf -passin pass:$PASS&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/systemd/system/docker.service.d/execstart.conf ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
#ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:4243&lt;br /&gt;
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ssl/ca.pem --tlscert=/etc/docker/ssl/server-cert.pem --tlskey=/etc/docker/ssl/server-key.pem -H fd:// -H tcp://0.0.0.0:2376&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== netcat ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;test&amp;quot; | nc wiegert.link 12345 # client&lt;br /&gt;
nc -l 12345 -k # listener server, k = continuous&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== systemd ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
systemctl edit --full lvm2-lvmetad.service # edit service&lt;br /&gt;
systemctl edit lvm2-lvmetad.service # edit service override&lt;br /&gt;
systemctl daemon-reload # Reload systemd manager configuration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== rsync ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
rsync -rav&lt;br /&gt;
rsync -ravHAX&lt;br /&gt;
rsync -avHAX --one-file-system&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ZFS ==&lt;br /&gt;
[[ZFS Best practices]]&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
Fixperm on files (664) and folders (775):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
find . -type d -exec chown root:share {} \; -exec chmod 775 {} \;&lt;br /&gt;
find . -type f -exec chown root:share {} \; -exec chmod 664 {} \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
docker + kvm + networking = :( https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
pfsense port forwarding while not being default gw: https://docs.netgate.com/pfsense/en/latest/troubleshooting/nat.html#figure-manual-outbound-nat-local-device&lt;br /&gt;
&lt;br /&gt;
smtprelay via gmail with postfix mailutils, s-nail&lt;br /&gt;
https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/&lt;br /&gt;
&lt;br /&gt;
Nut sending mails -&amp;gt; https://freekode.org/nut-sending-emails/&lt;br /&gt;
&lt;br /&gt;
Secure rsync over SSH without shell access - https://lxadm.com/Secure_rsync_over_SSH_without_shell_access&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipv4=$(curl -s -X GET -4 https://ifconfig.co)&lt;br /&gt;
ipv6=$(curl -s -X GET -6 https://ifconfig.co)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fail2ban ==&lt;br /&gt;
https://wiki.archlinux.org/index.php/Fail2ban&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo pacman -Sy&lt;br /&gt;
sudo pacman --noconfirm -S fail2ban&lt;br /&gt;
sudo cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; /etc/fail2ban/jail.local&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
bantime = 5d&lt;br /&gt;
&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
mode = aggressive&lt;br /&gt;
EOF&lt;br /&gt;
sudo systemctl enable fail2ban.service&lt;br /&gt;
sudo systemctl start fail2ban.service&lt;br /&gt;
&lt;br /&gt;
# Fail2ban status&lt;br /&gt;
fail2ban-client status sshd&lt;br /&gt;
&lt;br /&gt;
# Unban ip:&lt;br /&gt;
fail2ban-client set sshd unbanip 1.2.3.4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UDEV fun! ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
KERNEL==&amp;quot;ttyUSB*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;1a86&amp;quot;, SYMLINK+=&amp;quot;GSM-SIM800&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Reload and re-trigger udev rules without reboot&lt;br /&gt;
udevadm control --reload-rules &amp;amp;&amp;amp; udevadm trigger&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wireshark ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh user@remote &amp;quot;tcpdump -s0 -w - 'port 1234'&amp;quot; | wireshark -k -i -&lt;br /&gt;
&lt;br /&gt;
# Filter macaddress beginning with:&lt;br /&gt;
(ether [0:4] &amp;amp; 0xffffff00 = 0x000c2200) or (ether [6:4] &amp;amp; 0xffffff00 = 0x000c2200)&lt;br /&gt;
&lt;br /&gt;
# First / Last&lt;br /&gt;
eth.addr[0:3] == bc:05:43&lt;br /&gt;
eth.addr[4:2] == 28:06&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Queen Specific changes ==&lt;br /&gt;
* https://forums.servethehome.com/index.php?threads/flash-crossflash-dell-h330-raid-card-to-hba330-12gbps-hba-it-firmware.25498/#post-236242&lt;br /&gt;
* DISABLE WATCHDOG! Server will reboot due to watchdog during reboot in filesystem tasks.. BAD!&lt;br /&gt;
* Added &amp;quot;TimeoutSec=900&amp;quot; in [Service]-Section '''/etc/systemd/system/lvm2-lvmetad.service''' , otherwise shutdown takes too long time and lvmetad gets killed instead of clean shutdown, Results in failed lv which needs lvchange -ay [lvm] or worse - lvconvert --repair.&lt;br /&gt;
*  &amp;lt;del&amp;gt; Docker '''/etc/docker/daemon.json''' added &amp;quot;iptables&amp;quot;: false.&amp;lt;/del&amp;gt; Update: Use /etc/sysctl.d/30-ipforward.conf and /etc/udev/rules.d/99-bridge.rules instead. Docker kills kvm bridges without it. &lt;br /&gt;
* sysctl rules:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#/etc/sysctl.d/40-ipv6.conf:&lt;br /&gt;
# Disable IPv6&lt;br /&gt;
net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
net.ipv6.conf.nic0.disable_ipv6 = 1&lt;br /&gt;
...&lt;br /&gt;
net.ipv6.conf.nicN.disable_ipv6 = 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Note on sysctl reload : https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
* udev rules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/sysctl.d/30-ipforward.conf&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
net.ipv6.conf.default.forwarding=1&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/60-md-stripe-cache.rules&lt;br /&gt;
# Change stripe cache size to maximum, we got the ram! memory_consumed = system_page_size * nr_disks * stripe_cache_size&lt;br /&gt;
# https://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html&lt;br /&gt;
SUBSYSTEM==&amp;quot;block&amp;quot;, KERNEL==&amp;quot;md*&amp;quot;, ACTION==&amp;quot;change&amp;quot;, TEST==&amp;quot;md/stripe_cache_size&amp;quot;, ATTR{md/stripe_cache_size}=&amp;quot;32768&amp;quot;&lt;br /&gt;
&lt;br /&gt;
## TODO ? sudo blockdev --setra ?? -&amp;gt; https://unix.stackexchange.com/questions/71364/persistent-blockdev-setra-read-ahead-setting&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/89-usb.rules&lt;br /&gt;
#ups and TI zigbee module fix:&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/99-bridge.rules&lt;br /&gt;
# reload sysctl if br_netfilter is loaded, wierd stuff happens otherwise.&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, SUBSYSTEM==&amp;quot;module&amp;quot;, KERNEL==&amp;quot;br_netfilter&amp;quot;, RUN+=&amp;quot;/sbin/sysctl --system&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /usr/lib/udev/rules.d/11-dm-lvm.rules&lt;br /&gt;
# Create symlinks for top-level devices only.&lt;br /&gt;
## EDIT BY DAMME 2020-07-22 to populate partitions for libvirt&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, SYMLINK+=&amp;quot;$env{DM_VG_NAME}/$env{DM_LV_NAME}&amp;quot;&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, RUN+=&amp;quot;/sbin/kpartx -un /dev/%E{DM_VG_NAME}/%E{DM_LV_NAME}&amp;quot;, GOTO=&amp;quot;lvm_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New server thoughts ==&lt;br /&gt;
* https://www.youtube.com/watch?v=MucGkPUMjNo Building a Power Efficient Home Server!&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=389</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=389"/>
		<updated>2023-12-17T11:08:19Z</updated>

		<summary type="html">&lt;p&gt;Damme: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= URL =&lt;br /&gt;
* http://falstad.com/circuit/circuitjs.html&lt;br /&gt;
= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
* https://rightbattery.com&lt;br /&gt;
&lt;br /&gt;
= Chip Hacking =&lt;br /&gt;
* https://github.com/debug-silicon/C8051F34x_Glitch&lt;br /&gt;
* https://www.mouser.se/ProductDetail/NewAE/NAE-CWLITE-ARM?qs=sGAEpiMZZMurtJ7VwBTl0Rm64lZhrtuCiY9L%252BSlUYJCrD9xW0HP9GQ%3D%3D&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://www.c64-tools.com/&lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
* https://www.youtube.com/watch?v=F1685u-QQ0k MCE adapter etc&lt;br /&gt;
* http://15khz.wikidot.com&lt;br /&gt;
* https://github.com/planeturban/15khzvgatester&lt;br /&gt;
* https://github.com/mecparts/RetroWiFiModem&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;br /&gt;
&lt;br /&gt;
== Raspberry pi ==&lt;br /&gt;
* https://iosoft.blog/2020/07/16/raspberry-pi-smi/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External pcie ==&lt;br /&gt;
* OCuLink https://www.aliexpress.com/item/1005005512284033.html&lt;br /&gt;
alt&lt;br /&gt;
* M.2 To U.2 SFF-8643 https://www.aliexpress.com/item/1005006019873428.html&lt;br /&gt;
* SFF-8643 SAS SFF-8654 (slimsas) https://www.aliexpress.com/item/1005006261695531.html&lt;br /&gt;
* SFF-8654 8i to PCIe 4.0 x16 https://www.aliexpress.com/item/1005005811987501.html&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Sandbox&amp;diff=384</id>
		<title>Sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Sandbox&amp;diff=384"/>
		<updated>2023-11-20T16:49:16Z</updated>

		<summary type="html">&lt;p&gt;Damme: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome! ==&lt;br /&gt;
[[Random link]]&lt;br /&gt;
&lt;br /&gt;
== Syntax highlightning: ==&lt;br /&gt;
Code:&lt;br /&gt;
{{ #tag: syntaxhighlight |&lt;br /&gt;
&amp;lt;&amp;lt;noinclude/&amp;gt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def quick_sort(arr):&lt;br /&gt;
	less = []&lt;br /&gt;
	pivot_list = []&lt;br /&gt;
	more = []&lt;br /&gt;
	if len(arr) &amp;lt;= 1:&lt;br /&gt;
		return arr&lt;br /&gt;
	else:&lt;br /&gt;
		pass&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| lang=python }}&lt;br /&gt;
Result:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def quick_sort(arr):&lt;br /&gt;
	less = []&lt;br /&gt;
	pivot_list = []&lt;br /&gt;
	more = []&lt;br /&gt;
	if len(arr) &amp;lt;= 1:&lt;br /&gt;
		return arr&lt;br /&gt;
	else:&lt;br /&gt;
		pass&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Supported languages: https://www.mediawiki.org/wiki/Extension:SyntaxHighlight#Supported_languages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:8472.png]]&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=File:8472.png&amp;diff=383</id>
		<title>File:8472.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=File:8472.png&amp;diff=383"/>
		<updated>2023-11-20T16:48:12Z</updated>

		<summary type="html">&lt;p&gt;Damme: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_windows_stuff&amp;diff=382</id>
		<title>Damme's windows stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_windows_stuff&amp;diff=382"/>
		<updated>2023-08-26T07:02:13Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* DISM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DISM ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# https://www.risual.com/2022/03/adding-surface-drivers-to-windows-image/&lt;br /&gt;
Mount-WindowsImage -Path C:\Temp\surface\mount\ -ImagePath .\boot.wim -Index 1&lt;br /&gt;
Mount-WindowsImage -Path C:\Temp\surface\mount\ -ImagePath .\boot.wim -Index 2&lt;br /&gt;
&lt;br /&gt;
dism /export-image /SourceImageFile:&amp;quot;install.esd&amp;quot; /SourceIndex:6 /DestinationImageFile:install.wim /Compress:max /CheckIntegrity&lt;br /&gt;
&lt;br /&gt;
Mount-WindowsImage -Path C:\Temp\surface\mount\ -ImagePath .\install.wim -Index 1&lt;br /&gt;
Add-WindowsDriver -Path C:\Temp\surface\mount\ -Driver C:\Temp\surface\unpacked\SurfaceUpdate\ -Recurse&lt;br /&gt;
Dismount-WindowsImage -Path C:\Temp\surface\mount\ -Save&lt;br /&gt;
&lt;br /&gt;
DISM /Export-Image /SourceImageFile:install.wim /SourceIndex:1 /DestinationImageFile:install.esd /DestinationName:&amp;quot;Windows 10 Pro - Surface 5 drivers&amp;quot; /Compress:recovery&lt;br /&gt;
&lt;br /&gt;
DISM /Get-WimInfo /WimFile:&amp;quot;install.esd&amp;quot;&lt;br /&gt;
dism /Delete-Image /ImageFile:install.esd /Index:3&lt;br /&gt;
DISM /Export-Image /SourceImageFile:install.wim /SourceIndex:1 /DestinationImageFile:new.esd /Compress:recovery&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fixes ==&lt;br /&gt;
* windows debloater https://github.com/Sycnex/Windows10Debloater&lt;br /&gt;
* Win 11 explorer https://github.com/valinet/ExplorerPatcher&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* https://github.com/integralfx/MemTestHelper&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_windows_stuff&amp;diff=381</id>
		<title>Damme's windows stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_windows_stuff&amp;diff=381"/>
		<updated>2023-08-26T07:02:02Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* DISM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DISM ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# https://www.risual.com/2022/03/adding-surface-drivers-to-windows-image/&lt;br /&gt;
Mount-WindowsImage -Path C:\Temp\surface\mount\ -ImagePath .\boot.wim -Index 1&lt;br /&gt;
Mount-WindowsImage -Path C:\Temp\surface\mount\ -ImagePath .\boot.wim -Index 2&lt;br /&gt;
&lt;br /&gt;
dism /export-image /SourceImageFile:&amp;quot;install.esd&amp;quot; /SourceIndex:6 /DestinationImageFile:install.wim /Compress:max /CheckIntegrity&lt;br /&gt;
&lt;br /&gt;
Mount-WindowsImage -Path C:\Temp\surface\mount\ -ImagePath .\install.wim -Index 1&lt;br /&gt;
Add-WindowsDriver -Path C:\Temp\surface\mount\ -Driver C:\Temp\surface\unpacked\SurfaceUpdate\ -Recurse&lt;br /&gt;
Dismount-WindowsImage -Path C:\Temp\surface\mount\ -Save&lt;br /&gt;
&lt;br /&gt;
DISM /Export-Image /SourceImageFile:install.wim /SourceIndex:1 /DestinationImageFile:install.esd /DestinationName:&amp;quot;Windows 10 Pro - Surface 5 drivers&amp;quot; /Compress:recovery&lt;br /&gt;
&lt;br /&gt;
DISM /Get-WimInfo /WimFile:&amp;quot;install.esd&amp;quot;&lt;br /&gt;
dism /Delete-Image /ImageFile:install.esd /Index:3&lt;br /&gt;
DISM /Export-Image /SourceImageFile:install.wim /SourceIndex:1 /DestinationImageFile:new.esd /Compress:recovery&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fixes ==&lt;br /&gt;
* windows debloater https://github.com/Sycnex/Windows10Debloater&lt;br /&gt;
* Win 11 explorer https://github.com/valinet/ExplorerPatcher&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* https://github.com/integralfx/MemTestHelper&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_windows_stuff&amp;diff=380</id>
		<title>Damme's windows stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_windows_stuff&amp;diff=380"/>
		<updated>2023-08-26T07:01:47Z</updated>

		<summary type="html">&lt;p&gt;Damme: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DISM ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Mount-WindowsImage -Path C:\Temp\surface\mount\ -ImagePath .\boot.wim -Index 1&lt;br /&gt;
Mount-WindowsImage -Path C:\Temp\surface\mount\ -ImagePath .\boot.wim -Index 2&lt;br /&gt;
&lt;br /&gt;
dism /export-image /SourceImageFile:&amp;quot;install.esd&amp;quot; /SourceIndex:6 /DestinationImageFile:install.wim /Compress:max /CheckIntegrity&lt;br /&gt;
&lt;br /&gt;
Mount-WindowsImage -Path C:\Temp\surface\mount\ -ImagePath .\install.wim -Index 1&lt;br /&gt;
Add-WindowsDriver -Path C:\Temp\surface\mount\ -Driver C:\Temp\surface\unpacked\SurfaceUpdate\ -Recurse&lt;br /&gt;
Dismount-WindowsImage -Path C:\Temp\surface\mount\ -Save&lt;br /&gt;
&lt;br /&gt;
DISM /Export-Image /SourceImageFile:install.wim /SourceIndex:1 /DestinationImageFile:install.esd /DestinationName:&amp;quot;Windows 10 Pro - Surface 5 drivers&amp;quot; /Compress:recovery&lt;br /&gt;
&lt;br /&gt;
DISM /Get-WimInfo /WimFile:&amp;quot;install.esd&amp;quot;&lt;br /&gt;
dism /Delete-Image /ImageFile:install.esd /Index:3&lt;br /&gt;
DISM /Export-Image /SourceImageFile:install.wim /SourceIndex:1 /DestinationImageFile:new.esd /Compress:recovery&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fixes ==&lt;br /&gt;
* windows debloater https://github.com/Sycnex/Windows10Debloater&lt;br /&gt;
* Win 11 explorer https://github.com/valinet/ExplorerPatcher&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* https://github.com/integralfx/MemTestHelper&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=379</id>
		<title>Hiseeu 5MP PTZ gk7605v100 sc223a</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=379"/>
		<updated>2023-08-09T14:05:20Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* uart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sensor ==&lt;br /&gt;
Camera needs _4l driver, got it from telegram channel. Source?&lt;br /&gt;
config as follows:&lt;br /&gt;
* /etc/sensors/sc223a_4l_i2c_1080p.ini&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[sensor]&lt;br /&gt;
Sensor_type=stSnsSc223aObj&lt;br /&gt;
Mode=WDR_MODE_NONE&lt;br /&gt;
DllFile=libsns_sc223a_4l.so&lt;br /&gt;
&lt;br /&gt;
[mode]&lt;br /&gt;
input_mode=INPUT_MODE_MIPI&lt;br /&gt;
raw_bitness=10&lt;br /&gt;
&lt;br /&gt;
[mipi]&lt;br /&gt;
lane_id = 0|1|-1|-1|-1|-1|-1|-1|      ;lane_id: -1 - disable&lt;br /&gt;
&lt;br /&gt;
[isp_image]&lt;br /&gt;
Isp_FrameRate=30&lt;br /&gt;
Isp_Bayer=BAYER_BGGR&lt;br /&gt;
&lt;br /&gt;
[vi_dev]&lt;br /&gt;
Input_mod=VI_MODE_MIPI&lt;br /&gt;
Work_mod =0     ;VI_WORK_MODE_1Multiplex = 0&lt;br /&gt;
                ;VI_WORK_MODE_2Multiplex,&lt;br /&gt;
                ;VI_WORK_MODE_4Multiplex&lt;br /&gt;
Combine_mode =0 ;Y/C composite or separation mode&lt;br /&gt;
                ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */&lt;br /&gt;
                ;VI_COMBINE_SEPARATE,     /*Separate mode */&lt;br /&gt;
Comp_mode    =0 ;Component mode (single-component or dual-component)&lt;br /&gt;
                ;VI_COMP_MODE_SINGLE = 0, /*single component mode */&lt;br /&gt;
                ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */&lt;br /&gt;
Clock_edge   =1 ;Clock edge mode (sampling on the rising or falling edge)&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */&lt;br /&gt;
Mask_num     =2 ;Component mask&lt;br /&gt;
Mask_0       =0xFFF00000&lt;br /&gt;
Mask_1       =0x0&lt;br /&gt;
Scan_mode    = 1;VI_SCAN_INTERLACED = 0&lt;br /&gt;
                ;VI_SCAN_PROGRESSIVE,&lt;br /&gt;
Data_seq     =2 ;data sequence (ONLY for YUV format)&lt;br /&gt;
                ;----2th component U/V sequence in bt1120&lt;br /&gt;
                ;    VI_INPUT_DATA_VUVU = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_UVUV,&lt;br /&gt;
                ;----input sequence for yuv&lt;br /&gt;
                ;    VI_INPUT_DATA_UYVY = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_VYUY,&lt;br /&gt;
                ;    VI_INPUT_DATA_YUYV,&lt;br /&gt;
                ;    VI_INPUT_DATA_YVYU&lt;br /&gt;
&lt;br /&gt;
Vsync   =1      ; vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_FIELD = 0,&lt;br /&gt;
                ;VI_VSYNC_PULSE,&lt;br /&gt;
VsyncNeg=1      ;Polarity of the vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E&lt;br /&gt;
Hsync  =0       ;Attribute of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_VALID_SINGNAL = 0,&lt;br /&gt;
                ;VI_HSYNC_PULSE,&lt;br /&gt;
HsyncNeg =0     ;Polarity of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_HSYNC_NEG_LOW&lt;br /&gt;
VsyncValid =1   ;Attribute of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NORM_PULSE = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_SINGAL,&lt;br /&gt;
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_LOW&lt;br /&gt;
Timingblank_HsyncHfb =0     ;Horizontal front blanking width&lt;br /&gt;
Timingblank_HsyncAct =1920  ;Horizontal effetive width&lt;br /&gt;
Timingblank_HsyncHbb =0     ;Horizontal back blanking width&lt;br /&gt;
Timingblank_VsyncVfb =0     ;Vertical front blanking height&lt;br /&gt;
Timingblank_VsyncVact =1080  ;Vertical effetive width&lt;br /&gt;
Timingblank_VsyncVbb=0      ;Vertical back blanking height&lt;br /&gt;
Timingblank_VsyncVbfb =0    ;Even-field vertical front blanking height(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbact=0    ;Even-field vertical effetive width(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbbb =0    ;Even-field vertical back blanking height(interlace, invalid progressive)&lt;br /&gt;
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,&lt;br /&gt;
DataRev      =FALSE ;Data reverse. FALSE = 0; TRUE = 1&lt;br /&gt;
DevRect_x=200&lt;br /&gt;
DevRect_y=20&lt;br /&gt;
DevRect_w=1920&lt;br /&gt;
DevRect_h=1080&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== uart ==&lt;br /&gt;
* ./general/package/all-patches/linux/9000-enable-uart1.patch&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
--- a/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:43:00.715983714 +0200&lt;br /&gt;
+++ b/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:42:25.609040743 +0200&lt;br /&gt;
@@ -20,7 +20,7 @@&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart1 {&lt;br /&gt;
-       status = &amp;quot;disabled&amp;quot;;&lt;br /&gt;
+       status = &amp;quot;okay&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart2 {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipctool reginfo | grep UART&lt;br /&gt;
&lt;br /&gt;
devmem 0x112c0078 32 0x01&lt;br /&gt;
devmem 0x112c007c 32 0x01&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reflash kernel via uboot ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
## does not work?&lt;br /&gt;
setenv ipaddr 192.168.1.10; setenv serverip 192.168.1.11&lt;br /&gt;
setenv flash_addr 0x50000&lt;br /&gt;
setenv uimage_size 0x300000&lt;br /&gt;
&lt;br /&gt;
mw.b ${baseaddr} 0xff 0x1000000&lt;br /&gt;
tftpboot ${baseaddr} uImage&lt;br /&gt;
sf probe 0; sf lock 0;&lt;br /&gt;
&lt;br /&gt;
sf erase ${flash_addr} ${uimage_size}&lt;br /&gt;
sf write ${loadaddr} ${flash_addr} ${filesize}&lt;br /&gt;
original:&lt;br /&gt;
&lt;br /&gt;
uknor16m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} &amp;amp;&amp;amp; sf probe 0; sf erase 0x50000 0x300000; sf write ${baseaddr} 0x50000 ${filesize}&lt;br /&gt;
urnor16m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.squashfs.${soc} &amp;amp;&amp;amp; sf probe 0; sf erase 0x350000 0xa00000; sf write ${baseaddr} 0x350000 ${filesize}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=378</id>
		<title>Hiseeu 5MP PTZ gk7605v100 sc223a</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=378"/>
		<updated>2023-08-09T13:24:48Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* reflash kernel via uboot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sensor ==&lt;br /&gt;
Camera needs _4l driver, got it from telegram channel. Source?&lt;br /&gt;
config as follows:&lt;br /&gt;
* /etc/sensors/sc223a_4l_i2c_1080p.ini&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[sensor]&lt;br /&gt;
Sensor_type=stSnsSc223aObj&lt;br /&gt;
Mode=WDR_MODE_NONE&lt;br /&gt;
DllFile=libsns_sc223a_4l.so&lt;br /&gt;
&lt;br /&gt;
[mode]&lt;br /&gt;
input_mode=INPUT_MODE_MIPI&lt;br /&gt;
raw_bitness=10&lt;br /&gt;
&lt;br /&gt;
[mipi]&lt;br /&gt;
lane_id = 0|1|-1|-1|-1|-1|-1|-1|      ;lane_id: -1 - disable&lt;br /&gt;
&lt;br /&gt;
[isp_image]&lt;br /&gt;
Isp_FrameRate=30&lt;br /&gt;
Isp_Bayer=BAYER_BGGR&lt;br /&gt;
&lt;br /&gt;
[vi_dev]&lt;br /&gt;
Input_mod=VI_MODE_MIPI&lt;br /&gt;
Work_mod =0     ;VI_WORK_MODE_1Multiplex = 0&lt;br /&gt;
                ;VI_WORK_MODE_2Multiplex,&lt;br /&gt;
                ;VI_WORK_MODE_4Multiplex&lt;br /&gt;
Combine_mode =0 ;Y/C composite or separation mode&lt;br /&gt;
                ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */&lt;br /&gt;
                ;VI_COMBINE_SEPARATE,     /*Separate mode */&lt;br /&gt;
Comp_mode    =0 ;Component mode (single-component or dual-component)&lt;br /&gt;
                ;VI_COMP_MODE_SINGLE = 0, /*single component mode */&lt;br /&gt;
                ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */&lt;br /&gt;
Clock_edge   =1 ;Clock edge mode (sampling on the rising or falling edge)&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */&lt;br /&gt;
Mask_num     =2 ;Component mask&lt;br /&gt;
Mask_0       =0xFFF00000&lt;br /&gt;
Mask_1       =0x0&lt;br /&gt;
Scan_mode    = 1;VI_SCAN_INTERLACED = 0&lt;br /&gt;
                ;VI_SCAN_PROGRESSIVE,&lt;br /&gt;
Data_seq     =2 ;data sequence (ONLY for YUV format)&lt;br /&gt;
                ;----2th component U/V sequence in bt1120&lt;br /&gt;
                ;    VI_INPUT_DATA_VUVU = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_UVUV,&lt;br /&gt;
                ;----input sequence for yuv&lt;br /&gt;
                ;    VI_INPUT_DATA_UYVY = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_VYUY,&lt;br /&gt;
                ;    VI_INPUT_DATA_YUYV,&lt;br /&gt;
                ;    VI_INPUT_DATA_YVYU&lt;br /&gt;
&lt;br /&gt;
Vsync   =1      ; vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_FIELD = 0,&lt;br /&gt;
                ;VI_VSYNC_PULSE,&lt;br /&gt;
VsyncNeg=1      ;Polarity of the vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E&lt;br /&gt;
Hsync  =0       ;Attribute of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_VALID_SINGNAL = 0,&lt;br /&gt;
                ;VI_HSYNC_PULSE,&lt;br /&gt;
HsyncNeg =0     ;Polarity of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_HSYNC_NEG_LOW&lt;br /&gt;
VsyncValid =1   ;Attribute of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NORM_PULSE = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_SINGAL,&lt;br /&gt;
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_LOW&lt;br /&gt;
Timingblank_HsyncHfb =0     ;Horizontal front blanking width&lt;br /&gt;
Timingblank_HsyncAct =1920  ;Horizontal effetive width&lt;br /&gt;
Timingblank_HsyncHbb =0     ;Horizontal back blanking width&lt;br /&gt;
Timingblank_VsyncVfb =0     ;Vertical front blanking height&lt;br /&gt;
Timingblank_VsyncVact =1080  ;Vertical effetive width&lt;br /&gt;
Timingblank_VsyncVbb=0      ;Vertical back blanking height&lt;br /&gt;
Timingblank_VsyncVbfb =0    ;Even-field vertical front blanking height(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbact=0    ;Even-field vertical effetive width(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbbb =0    ;Even-field vertical back blanking height(interlace, invalid progressive)&lt;br /&gt;
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,&lt;br /&gt;
DataRev      =FALSE ;Data reverse. FALSE = 0; TRUE = 1&lt;br /&gt;
DevRect_x=200&lt;br /&gt;
DevRect_y=20&lt;br /&gt;
DevRect_w=1920&lt;br /&gt;
DevRect_h=1080&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== uart ==&lt;br /&gt;
* ./general/package/all-patches/linux/9000-enable-uart1.patch&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
--- a/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:43:00.715983714 +0200&lt;br /&gt;
+++ b/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:42:25.609040743 +0200&lt;br /&gt;
@@ -20,7 +20,7 @@&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart1 {&lt;br /&gt;
-       status = &amp;quot;disabled&amp;quot;;&lt;br /&gt;
+       status = &amp;quot;okay&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart2 {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipctool reginfo | grep UART&lt;br /&gt;
&lt;br /&gt;
devmem 0x100c000c 32 0x02&lt;br /&gt;
devmem 0x100c0010 32 0x02&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reflash kernel via uboot ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
## does not work?&lt;br /&gt;
setenv ipaddr 192.168.1.10; setenv serverip 192.168.1.11&lt;br /&gt;
setenv flash_addr 0x50000&lt;br /&gt;
setenv uimage_size 0x300000&lt;br /&gt;
&lt;br /&gt;
mw.b ${baseaddr} 0xff 0x1000000&lt;br /&gt;
tftpboot ${baseaddr} uImage&lt;br /&gt;
sf probe 0; sf lock 0;&lt;br /&gt;
&lt;br /&gt;
sf erase ${flash_addr} ${uimage_size}&lt;br /&gt;
sf write ${loadaddr} ${flash_addr} ${filesize}&lt;br /&gt;
original:&lt;br /&gt;
&lt;br /&gt;
uknor16m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} &amp;amp;&amp;amp; sf probe 0; sf erase 0x50000 0x300000; sf write ${baseaddr} 0x50000 ${filesize}&lt;br /&gt;
urnor16m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.squashfs.${soc} &amp;amp;&amp;amp; sf probe 0; sf erase 0x350000 0xa00000; sf write ${baseaddr} 0x350000 ${filesize}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=377</id>
		<title>Hiseeu 5MP PTZ gk7605v100 sc223a</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=377"/>
		<updated>2023-08-09T12:06:52Z</updated>

		<summary type="html">&lt;p&gt;Damme: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sensor ==&lt;br /&gt;
Camera needs _4l driver, got it from telegram channel. Source?&lt;br /&gt;
config as follows:&lt;br /&gt;
* /etc/sensors/sc223a_4l_i2c_1080p.ini&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[sensor]&lt;br /&gt;
Sensor_type=stSnsSc223aObj&lt;br /&gt;
Mode=WDR_MODE_NONE&lt;br /&gt;
DllFile=libsns_sc223a_4l.so&lt;br /&gt;
&lt;br /&gt;
[mode]&lt;br /&gt;
input_mode=INPUT_MODE_MIPI&lt;br /&gt;
raw_bitness=10&lt;br /&gt;
&lt;br /&gt;
[mipi]&lt;br /&gt;
lane_id = 0|1|-1|-1|-1|-1|-1|-1|      ;lane_id: -1 - disable&lt;br /&gt;
&lt;br /&gt;
[isp_image]&lt;br /&gt;
Isp_FrameRate=30&lt;br /&gt;
Isp_Bayer=BAYER_BGGR&lt;br /&gt;
&lt;br /&gt;
[vi_dev]&lt;br /&gt;
Input_mod=VI_MODE_MIPI&lt;br /&gt;
Work_mod =0     ;VI_WORK_MODE_1Multiplex = 0&lt;br /&gt;
                ;VI_WORK_MODE_2Multiplex,&lt;br /&gt;
                ;VI_WORK_MODE_4Multiplex&lt;br /&gt;
Combine_mode =0 ;Y/C composite or separation mode&lt;br /&gt;
                ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */&lt;br /&gt;
                ;VI_COMBINE_SEPARATE,     /*Separate mode */&lt;br /&gt;
Comp_mode    =0 ;Component mode (single-component or dual-component)&lt;br /&gt;
                ;VI_COMP_MODE_SINGLE = 0, /*single component mode */&lt;br /&gt;
                ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */&lt;br /&gt;
Clock_edge   =1 ;Clock edge mode (sampling on the rising or falling edge)&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */&lt;br /&gt;
Mask_num     =2 ;Component mask&lt;br /&gt;
Mask_0       =0xFFF00000&lt;br /&gt;
Mask_1       =0x0&lt;br /&gt;
Scan_mode    = 1;VI_SCAN_INTERLACED = 0&lt;br /&gt;
                ;VI_SCAN_PROGRESSIVE,&lt;br /&gt;
Data_seq     =2 ;data sequence (ONLY for YUV format)&lt;br /&gt;
                ;----2th component U/V sequence in bt1120&lt;br /&gt;
                ;    VI_INPUT_DATA_VUVU = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_UVUV,&lt;br /&gt;
                ;----input sequence for yuv&lt;br /&gt;
                ;    VI_INPUT_DATA_UYVY = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_VYUY,&lt;br /&gt;
                ;    VI_INPUT_DATA_YUYV,&lt;br /&gt;
                ;    VI_INPUT_DATA_YVYU&lt;br /&gt;
&lt;br /&gt;
Vsync   =1      ; vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_FIELD = 0,&lt;br /&gt;
                ;VI_VSYNC_PULSE,&lt;br /&gt;
VsyncNeg=1      ;Polarity of the vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E&lt;br /&gt;
Hsync  =0       ;Attribute of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_VALID_SINGNAL = 0,&lt;br /&gt;
                ;VI_HSYNC_PULSE,&lt;br /&gt;
HsyncNeg =0     ;Polarity of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_HSYNC_NEG_LOW&lt;br /&gt;
VsyncValid =1   ;Attribute of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NORM_PULSE = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_SINGAL,&lt;br /&gt;
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_LOW&lt;br /&gt;
Timingblank_HsyncHfb =0     ;Horizontal front blanking width&lt;br /&gt;
Timingblank_HsyncAct =1920  ;Horizontal effetive width&lt;br /&gt;
Timingblank_HsyncHbb =0     ;Horizontal back blanking width&lt;br /&gt;
Timingblank_VsyncVfb =0     ;Vertical front blanking height&lt;br /&gt;
Timingblank_VsyncVact =1080  ;Vertical effetive width&lt;br /&gt;
Timingblank_VsyncVbb=0      ;Vertical back blanking height&lt;br /&gt;
Timingblank_VsyncVbfb =0    ;Even-field vertical front blanking height(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbact=0    ;Even-field vertical effetive width(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbbb =0    ;Even-field vertical back blanking height(interlace, invalid progressive)&lt;br /&gt;
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,&lt;br /&gt;
DataRev      =FALSE ;Data reverse. FALSE = 0; TRUE = 1&lt;br /&gt;
DevRect_x=200&lt;br /&gt;
DevRect_y=20&lt;br /&gt;
DevRect_w=1920&lt;br /&gt;
DevRect_h=1080&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== uart ==&lt;br /&gt;
* ./general/package/all-patches/linux/9000-enable-uart1.patch&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
--- a/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:43:00.715983714 +0200&lt;br /&gt;
+++ b/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:42:25.609040743 +0200&lt;br /&gt;
@@ -20,7 +20,7 @@&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart1 {&lt;br /&gt;
-       status = &amp;quot;disabled&amp;quot;;&lt;br /&gt;
+       status = &amp;quot;okay&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart2 {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipctool reginfo | grep UART&lt;br /&gt;
&lt;br /&gt;
devmem 0x100c000c 32 0x02&lt;br /&gt;
devmem 0x100c0010 32 0x02&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reflash kernel via uboot ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
setenv ipaddr 192.168.1.10; setenv serverip 192.168.1.11&lt;br /&gt;
setenv flash_addr 0x50000&lt;br /&gt;
&lt;br /&gt;
mw.b ${baseaddr} 0xff 0x1000000&lt;br /&gt;
tftpboot ${baseaddr} uImage&lt;br /&gt;
sf probe 0; sf lock 0;&lt;br /&gt;
&lt;br /&gt;
sf erase ${flash_addr} ${filesize}&lt;br /&gt;
sf write ${loadaddr} ${flash_addr} ${filesize}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=376</id>
		<title>Hiseeu 5MP PTZ gk7605v100 sc223a</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=376"/>
		<updated>2023-08-09T11:59:46Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* uart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sensor ==&lt;br /&gt;
Camera needs _4l driver, got it from telegram channel. Source?&lt;br /&gt;
config as follows:&lt;br /&gt;
* /etc/sensors/sc223a_4l_i2c_1080p.ini&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[sensor]&lt;br /&gt;
Sensor_type=stSnsSc223aObj&lt;br /&gt;
Mode=WDR_MODE_NONE&lt;br /&gt;
DllFile=libsns_sc223a_4l.so&lt;br /&gt;
&lt;br /&gt;
[mode]&lt;br /&gt;
input_mode=INPUT_MODE_MIPI&lt;br /&gt;
raw_bitness=10&lt;br /&gt;
&lt;br /&gt;
[mipi]&lt;br /&gt;
lane_id = 0|1|-1|-1|-1|-1|-1|-1|      ;lane_id: -1 - disable&lt;br /&gt;
&lt;br /&gt;
[isp_image]&lt;br /&gt;
Isp_FrameRate=30&lt;br /&gt;
Isp_Bayer=BAYER_BGGR&lt;br /&gt;
&lt;br /&gt;
[vi_dev]&lt;br /&gt;
Input_mod=VI_MODE_MIPI&lt;br /&gt;
Work_mod =0     ;VI_WORK_MODE_1Multiplex = 0&lt;br /&gt;
                ;VI_WORK_MODE_2Multiplex,&lt;br /&gt;
                ;VI_WORK_MODE_4Multiplex&lt;br /&gt;
Combine_mode =0 ;Y/C composite or separation mode&lt;br /&gt;
                ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */&lt;br /&gt;
                ;VI_COMBINE_SEPARATE,     /*Separate mode */&lt;br /&gt;
Comp_mode    =0 ;Component mode (single-component or dual-component)&lt;br /&gt;
                ;VI_COMP_MODE_SINGLE = 0, /*single component mode */&lt;br /&gt;
                ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */&lt;br /&gt;
Clock_edge   =1 ;Clock edge mode (sampling on the rising or falling edge)&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */&lt;br /&gt;
Mask_num     =2 ;Component mask&lt;br /&gt;
Mask_0       =0xFFF00000&lt;br /&gt;
Mask_1       =0x0&lt;br /&gt;
Scan_mode    = 1;VI_SCAN_INTERLACED = 0&lt;br /&gt;
                ;VI_SCAN_PROGRESSIVE,&lt;br /&gt;
Data_seq     =2 ;data sequence (ONLY for YUV format)&lt;br /&gt;
                ;----2th component U/V sequence in bt1120&lt;br /&gt;
                ;    VI_INPUT_DATA_VUVU = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_UVUV,&lt;br /&gt;
                ;----input sequence for yuv&lt;br /&gt;
                ;    VI_INPUT_DATA_UYVY = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_VYUY,&lt;br /&gt;
                ;    VI_INPUT_DATA_YUYV,&lt;br /&gt;
                ;    VI_INPUT_DATA_YVYU&lt;br /&gt;
&lt;br /&gt;
Vsync   =1      ; vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_FIELD = 0,&lt;br /&gt;
                ;VI_VSYNC_PULSE,&lt;br /&gt;
VsyncNeg=1      ;Polarity of the vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E&lt;br /&gt;
Hsync  =0       ;Attribute of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_VALID_SINGNAL = 0,&lt;br /&gt;
                ;VI_HSYNC_PULSE,&lt;br /&gt;
HsyncNeg =0     ;Polarity of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_HSYNC_NEG_LOW&lt;br /&gt;
VsyncValid =1   ;Attribute of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NORM_PULSE = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_SINGAL,&lt;br /&gt;
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_LOW&lt;br /&gt;
Timingblank_HsyncHfb =0     ;Horizontal front blanking width&lt;br /&gt;
Timingblank_HsyncAct =1920  ;Horizontal effetive width&lt;br /&gt;
Timingblank_HsyncHbb =0     ;Horizontal back blanking width&lt;br /&gt;
Timingblank_VsyncVfb =0     ;Vertical front blanking height&lt;br /&gt;
Timingblank_VsyncVact =1080  ;Vertical effetive width&lt;br /&gt;
Timingblank_VsyncVbb=0      ;Vertical back blanking height&lt;br /&gt;
Timingblank_VsyncVbfb =0    ;Even-field vertical front blanking height(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbact=0    ;Even-field vertical effetive width(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbbb =0    ;Even-field vertical back blanking height(interlace, invalid progressive)&lt;br /&gt;
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,&lt;br /&gt;
DataRev      =FALSE ;Data reverse. FALSE = 0; TRUE = 1&lt;br /&gt;
DevRect_x=200&lt;br /&gt;
DevRect_y=20&lt;br /&gt;
DevRect_w=1920&lt;br /&gt;
DevRect_h=1080&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== uart ==&lt;br /&gt;
* ./general/package/all-patches/linux/9000-enable-uart1.patch&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
--- a/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:43:00.715983714 +0200&lt;br /&gt;
+++ b/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:42:25.609040743 +0200&lt;br /&gt;
@@ -20,7 +20,7 @@&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart1 {&lt;br /&gt;
-       status = &amp;quot;disabled&amp;quot;;&lt;br /&gt;
+       status = &amp;quot;okay&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart2 {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipctool reginfo | grep UART&lt;br /&gt;
&lt;br /&gt;
devmem 0x100c000c 32 0x02&lt;br /&gt;
devmem 0x100c0010 32 0x02&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=375</id>
		<title>Hiseeu 5MP PTZ gk7605v100 sc223a</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=375"/>
		<updated>2023-08-09T11:59:15Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* uart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sensor ==&lt;br /&gt;
Camera needs _4l driver, got it from telegram channel. Source?&lt;br /&gt;
config as follows:&lt;br /&gt;
* /etc/sensors/sc223a_4l_i2c_1080p.ini&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[sensor]&lt;br /&gt;
Sensor_type=stSnsSc223aObj&lt;br /&gt;
Mode=WDR_MODE_NONE&lt;br /&gt;
DllFile=libsns_sc223a_4l.so&lt;br /&gt;
&lt;br /&gt;
[mode]&lt;br /&gt;
input_mode=INPUT_MODE_MIPI&lt;br /&gt;
raw_bitness=10&lt;br /&gt;
&lt;br /&gt;
[mipi]&lt;br /&gt;
lane_id = 0|1|-1|-1|-1|-1|-1|-1|      ;lane_id: -1 - disable&lt;br /&gt;
&lt;br /&gt;
[isp_image]&lt;br /&gt;
Isp_FrameRate=30&lt;br /&gt;
Isp_Bayer=BAYER_BGGR&lt;br /&gt;
&lt;br /&gt;
[vi_dev]&lt;br /&gt;
Input_mod=VI_MODE_MIPI&lt;br /&gt;
Work_mod =0     ;VI_WORK_MODE_1Multiplex = 0&lt;br /&gt;
                ;VI_WORK_MODE_2Multiplex,&lt;br /&gt;
                ;VI_WORK_MODE_4Multiplex&lt;br /&gt;
Combine_mode =0 ;Y/C composite or separation mode&lt;br /&gt;
                ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */&lt;br /&gt;
                ;VI_COMBINE_SEPARATE,     /*Separate mode */&lt;br /&gt;
Comp_mode    =0 ;Component mode (single-component or dual-component)&lt;br /&gt;
                ;VI_COMP_MODE_SINGLE = 0, /*single component mode */&lt;br /&gt;
                ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */&lt;br /&gt;
Clock_edge   =1 ;Clock edge mode (sampling on the rising or falling edge)&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */&lt;br /&gt;
Mask_num     =2 ;Component mask&lt;br /&gt;
Mask_0       =0xFFF00000&lt;br /&gt;
Mask_1       =0x0&lt;br /&gt;
Scan_mode    = 1;VI_SCAN_INTERLACED = 0&lt;br /&gt;
                ;VI_SCAN_PROGRESSIVE,&lt;br /&gt;
Data_seq     =2 ;data sequence (ONLY for YUV format)&lt;br /&gt;
                ;----2th component U/V sequence in bt1120&lt;br /&gt;
                ;    VI_INPUT_DATA_VUVU = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_UVUV,&lt;br /&gt;
                ;----input sequence for yuv&lt;br /&gt;
                ;    VI_INPUT_DATA_UYVY = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_VYUY,&lt;br /&gt;
                ;    VI_INPUT_DATA_YUYV,&lt;br /&gt;
                ;    VI_INPUT_DATA_YVYU&lt;br /&gt;
&lt;br /&gt;
Vsync   =1      ; vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_FIELD = 0,&lt;br /&gt;
                ;VI_VSYNC_PULSE,&lt;br /&gt;
VsyncNeg=1      ;Polarity of the vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E&lt;br /&gt;
Hsync  =0       ;Attribute of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_VALID_SINGNAL = 0,&lt;br /&gt;
                ;VI_HSYNC_PULSE,&lt;br /&gt;
HsyncNeg =0     ;Polarity of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_HSYNC_NEG_LOW&lt;br /&gt;
VsyncValid =1   ;Attribute of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NORM_PULSE = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_SINGAL,&lt;br /&gt;
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_LOW&lt;br /&gt;
Timingblank_HsyncHfb =0     ;Horizontal front blanking width&lt;br /&gt;
Timingblank_HsyncAct =1920  ;Horizontal effetive width&lt;br /&gt;
Timingblank_HsyncHbb =0     ;Horizontal back blanking width&lt;br /&gt;
Timingblank_VsyncVfb =0     ;Vertical front blanking height&lt;br /&gt;
Timingblank_VsyncVact =1080  ;Vertical effetive width&lt;br /&gt;
Timingblank_VsyncVbb=0      ;Vertical back blanking height&lt;br /&gt;
Timingblank_VsyncVbfb =0    ;Even-field vertical front blanking height(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbact=0    ;Even-field vertical effetive width(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbbb =0    ;Even-field vertical back blanking height(interlace, invalid progressive)&lt;br /&gt;
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,&lt;br /&gt;
DataRev      =FALSE ;Data reverse. FALSE = 0; TRUE = 1&lt;br /&gt;
DevRect_x=200&lt;br /&gt;
DevRect_y=20&lt;br /&gt;
DevRect_w=1920&lt;br /&gt;
DevRect_h=1080&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== uart ==&lt;br /&gt;
* ./general/package/all-patches/linux/9000-enable-uart2.patch&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
--- a/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:43:00.715983714 +0200&lt;br /&gt;
+++ b/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:42:25.609040743 +0200&lt;br /&gt;
@@ -20,7 +20,7 @@&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart1 {&lt;br /&gt;
-       status = &amp;quot;disabled&amp;quot;;&lt;br /&gt;
+       status = &amp;quot;okay&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart2 {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipctool reginfo | grep UART&lt;br /&gt;
&lt;br /&gt;
devmem 0x100c000c 32 0x02&lt;br /&gt;
devmem 0x100c0010 32 0x02&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=374</id>
		<title>Hiseeu 5MP PTZ gk7605v100 sc223a</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=374"/>
		<updated>2023-08-09T11:58:52Z</updated>

		<summary type="html">&lt;p&gt;Damme: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sensor ==&lt;br /&gt;
Camera needs _4l driver, got it from telegram channel. Source?&lt;br /&gt;
config as follows:&lt;br /&gt;
* /etc/sensors/sc223a_4l_i2c_1080p.ini&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[sensor]&lt;br /&gt;
Sensor_type=stSnsSc223aObj&lt;br /&gt;
Mode=WDR_MODE_NONE&lt;br /&gt;
DllFile=libsns_sc223a_4l.so&lt;br /&gt;
&lt;br /&gt;
[mode]&lt;br /&gt;
input_mode=INPUT_MODE_MIPI&lt;br /&gt;
raw_bitness=10&lt;br /&gt;
&lt;br /&gt;
[mipi]&lt;br /&gt;
lane_id = 0|1|-1|-1|-1|-1|-1|-1|      ;lane_id: -1 - disable&lt;br /&gt;
&lt;br /&gt;
[isp_image]&lt;br /&gt;
Isp_FrameRate=30&lt;br /&gt;
Isp_Bayer=BAYER_BGGR&lt;br /&gt;
&lt;br /&gt;
[vi_dev]&lt;br /&gt;
Input_mod=VI_MODE_MIPI&lt;br /&gt;
Work_mod =0     ;VI_WORK_MODE_1Multiplex = 0&lt;br /&gt;
                ;VI_WORK_MODE_2Multiplex,&lt;br /&gt;
                ;VI_WORK_MODE_4Multiplex&lt;br /&gt;
Combine_mode =0 ;Y/C composite or separation mode&lt;br /&gt;
                ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */&lt;br /&gt;
                ;VI_COMBINE_SEPARATE,     /*Separate mode */&lt;br /&gt;
Comp_mode    =0 ;Component mode (single-component or dual-component)&lt;br /&gt;
                ;VI_COMP_MODE_SINGLE = 0, /*single component mode */&lt;br /&gt;
                ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */&lt;br /&gt;
Clock_edge   =1 ;Clock edge mode (sampling on the rising or falling edge)&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */&lt;br /&gt;
Mask_num     =2 ;Component mask&lt;br /&gt;
Mask_0       =0xFFF00000&lt;br /&gt;
Mask_1       =0x0&lt;br /&gt;
Scan_mode    = 1;VI_SCAN_INTERLACED = 0&lt;br /&gt;
                ;VI_SCAN_PROGRESSIVE,&lt;br /&gt;
Data_seq     =2 ;data sequence (ONLY for YUV format)&lt;br /&gt;
                ;----2th component U/V sequence in bt1120&lt;br /&gt;
                ;    VI_INPUT_DATA_VUVU = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_UVUV,&lt;br /&gt;
                ;----input sequence for yuv&lt;br /&gt;
                ;    VI_INPUT_DATA_UYVY = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_VYUY,&lt;br /&gt;
                ;    VI_INPUT_DATA_YUYV,&lt;br /&gt;
                ;    VI_INPUT_DATA_YVYU&lt;br /&gt;
&lt;br /&gt;
Vsync   =1      ; vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_FIELD = 0,&lt;br /&gt;
                ;VI_VSYNC_PULSE,&lt;br /&gt;
VsyncNeg=1      ;Polarity of the vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E&lt;br /&gt;
Hsync  =0       ;Attribute of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_VALID_SINGNAL = 0,&lt;br /&gt;
                ;VI_HSYNC_PULSE,&lt;br /&gt;
HsyncNeg =0     ;Polarity of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_HSYNC_NEG_LOW&lt;br /&gt;
VsyncValid =1   ;Attribute of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NORM_PULSE = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_SINGAL,&lt;br /&gt;
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_LOW&lt;br /&gt;
Timingblank_HsyncHfb =0     ;Horizontal front blanking width&lt;br /&gt;
Timingblank_HsyncAct =1920  ;Horizontal effetive width&lt;br /&gt;
Timingblank_HsyncHbb =0     ;Horizontal back blanking width&lt;br /&gt;
Timingblank_VsyncVfb =0     ;Vertical front blanking height&lt;br /&gt;
Timingblank_VsyncVact =1080  ;Vertical effetive width&lt;br /&gt;
Timingblank_VsyncVbb=0      ;Vertical back blanking height&lt;br /&gt;
Timingblank_VsyncVbfb =0    ;Even-field vertical front blanking height(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbact=0    ;Even-field vertical effetive width(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbbb =0    ;Even-field vertical back blanking height(interlace, invalid progressive)&lt;br /&gt;
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,&lt;br /&gt;
DataRev      =FALSE ;Data reverse. FALSE = 0; TRUE = 1&lt;br /&gt;
DevRect_x=200&lt;br /&gt;
DevRect_y=20&lt;br /&gt;
DevRect_w=1920&lt;br /&gt;
DevRect_h=1080&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== uart ==&lt;br /&gt;
* ./general/package/all-patches/linux/9000-enable-uart2.patch&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;patch&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
--- a/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:43:00.715983714 +0200&lt;br /&gt;
+++ b/arch/arm/boot/dts/gk7605v100-demb.dts       2023-08-09 13:42:25.609040743 +0200&lt;br /&gt;
@@ -20,7 +20,7 @@&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart1 {&lt;br /&gt;
-       status = &amp;quot;disabled&amp;quot;;&lt;br /&gt;
+       status = &amp;quot;okay&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;uart2 {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipctool reginfo | grep UART&lt;br /&gt;
&lt;br /&gt;
devmem 0x100c000c 32 0x02&lt;br /&gt;
devmem 0x100c0010 32 0x02&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=373</id>
		<title>Hiseeu 5MP PTZ gk7605v100 sc223a</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Hiseeu_5MP_PTZ_gk7605v100_sc223a&amp;diff=373"/>
		<updated>2023-08-09T11:55:38Z</updated>

		<summary type="html">&lt;p&gt;Damme: Created page with &amp;quot;== Sensor == Camera needs _4l driver, got it from telegram channel. Source? config as follows: * /etc/sensors/sc223a_4l_i2c_1080p.ini &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt; [sensor] Sensor_type=stSnsSc223aObj Mode=WDR_MODE_NONE DllFile=libsns_sc223a_4l.so  [mode] input_mode=INPUT_MODE_MIPI raw_bitness=10  [mipi] lane_id = 0|1|-1|-1|-1|-1|-1|-1|      ;lane_id: -1 - disable  [isp_image] Isp_FrameRate=30 Isp_Bayer=BAYER_BGGR  [vi_dev] Input_mod=VI_MODE_MIPI Work_mod =0...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sensor ==&lt;br /&gt;
Camera needs _4l driver, got it from telegram channel. Source?&lt;br /&gt;
config as follows:&lt;br /&gt;
* /etc/sensors/sc223a_4l_i2c_1080p.ini&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[sensor]&lt;br /&gt;
Sensor_type=stSnsSc223aObj&lt;br /&gt;
Mode=WDR_MODE_NONE&lt;br /&gt;
DllFile=libsns_sc223a_4l.so&lt;br /&gt;
&lt;br /&gt;
[mode]&lt;br /&gt;
input_mode=INPUT_MODE_MIPI&lt;br /&gt;
raw_bitness=10&lt;br /&gt;
&lt;br /&gt;
[mipi]&lt;br /&gt;
lane_id = 0|1|-1|-1|-1|-1|-1|-1|      ;lane_id: -1 - disable&lt;br /&gt;
&lt;br /&gt;
[isp_image]&lt;br /&gt;
Isp_FrameRate=30&lt;br /&gt;
Isp_Bayer=BAYER_BGGR&lt;br /&gt;
&lt;br /&gt;
[vi_dev]&lt;br /&gt;
Input_mod=VI_MODE_MIPI&lt;br /&gt;
Work_mod =0     ;VI_WORK_MODE_1Multiplex = 0&lt;br /&gt;
                ;VI_WORK_MODE_2Multiplex,&lt;br /&gt;
                ;VI_WORK_MODE_4Multiplex&lt;br /&gt;
Combine_mode =0 ;Y/C composite or separation mode&lt;br /&gt;
                ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */&lt;br /&gt;
                ;VI_COMBINE_SEPARATE,     /*Separate mode */&lt;br /&gt;
Comp_mode    =0 ;Component mode (single-component or dual-component)&lt;br /&gt;
                ;VI_COMP_MODE_SINGLE = 0, /*single component mode */&lt;br /&gt;
                ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */&lt;br /&gt;
Clock_edge   =1 ;Clock edge mode (sampling on the rising or falling edge)&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */&lt;br /&gt;
                ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */&lt;br /&gt;
Mask_num     =2 ;Component mask&lt;br /&gt;
Mask_0       =0xFFF00000&lt;br /&gt;
Mask_1       =0x0&lt;br /&gt;
Scan_mode    = 1;VI_SCAN_INTERLACED = 0&lt;br /&gt;
                ;VI_SCAN_PROGRESSIVE,&lt;br /&gt;
Data_seq     =2 ;data sequence (ONLY for YUV format)&lt;br /&gt;
                ;----2th component U/V sequence in bt1120&lt;br /&gt;
                ;    VI_INPUT_DATA_VUVU = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_UVUV,&lt;br /&gt;
                ;----input sequence for yuv&lt;br /&gt;
                ;    VI_INPUT_DATA_UYVY = 0,&lt;br /&gt;
                ;    VI_INPUT_DATA_VYUY,&lt;br /&gt;
                ;    VI_INPUT_DATA_YUYV,&lt;br /&gt;
                ;    VI_INPUT_DATA_YVYU&lt;br /&gt;
&lt;br /&gt;
Vsync   =1      ; vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_FIELD = 0,&lt;br /&gt;
                ;VI_VSYNC_PULSE,&lt;br /&gt;
VsyncNeg=1      ;Polarity of the vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E&lt;br /&gt;
Hsync  =0       ;Attribute of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_VALID_SINGNAL = 0,&lt;br /&gt;
                ;VI_HSYNC_PULSE,&lt;br /&gt;
HsyncNeg =0     ;Polarity of the horizontal synchronization signal&lt;br /&gt;
                ;VI_HSYNC_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_HSYNC_NEG_LOW&lt;br /&gt;
VsyncValid =1   ;Attribute of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_NORM_PULSE = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_SINGAL,&lt;br /&gt;
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_HIGH = 0,&lt;br /&gt;
                ;VI_VSYNC_VALID_NEG_LOW&lt;br /&gt;
Timingblank_HsyncHfb =0     ;Horizontal front blanking width&lt;br /&gt;
Timingblank_HsyncAct =1920  ;Horizontal effetive width&lt;br /&gt;
Timingblank_HsyncHbb =0     ;Horizontal back blanking width&lt;br /&gt;
Timingblank_VsyncVfb =0     ;Vertical front blanking height&lt;br /&gt;
Timingblank_VsyncVact =1080  ;Vertical effetive width&lt;br /&gt;
Timingblank_VsyncVbb=0      ;Vertical back blanking height&lt;br /&gt;
Timingblank_VsyncVbfb =0    ;Even-field vertical front blanking height(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbact=0    ;Even-field vertical effetive width(interlace, invalid progressive)&lt;br /&gt;
Timingblank_VsyncVbbb =0    ;Even-field vertical back blanking height(interlace, invalid progressive)&lt;br /&gt;
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,&lt;br /&gt;
DataRev      =FALSE ;Data reverse. FALSE = 0; TRUE = 1&lt;br /&gt;
DevRect_x=200&lt;br /&gt;
DevRect_y=20&lt;br /&gt;
DevRect_w=1920&lt;br /&gt;
DevRect_h=1080&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Main_Page&amp;diff=372</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Main_Page&amp;diff=372"/>
		<updated>2023-08-09T11:51:47Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Damme's stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== World Wide Wiegert Wiki - The best wiki in the world! ==&lt;br /&gt;
 Skapa en sida genom att skapa dig ett konto, editera denna sida och skriv länken inom brackets&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[namn på sidan]]&amp;lt;/nowiki&amp;gt; - spara och klicka på länken så är det bara att skriva vidare!&lt;br /&gt;
&lt;br /&gt;
== Damme's stuff ==&lt;br /&gt;
&amp;lt;strong&amp;gt;[[Damme's linux stuff]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Damme's windows stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu Server LTS]]&lt;br /&gt;
&lt;br /&gt;
[[Hårdvara]]&lt;br /&gt;
&lt;br /&gt;
[[Development]]&lt;br /&gt;
&lt;br /&gt;
[[Dammes other stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Resor mm]]&lt;br /&gt;
&lt;br /&gt;
[[Hiseeu 5MP PTZ gk7605v100 sc223a]]&lt;br /&gt;
&lt;br /&gt;
== Plupp's stuff ==&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Other pages ==&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;[[Cheat sheet]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MediaWiki format help]]&lt;br /&gt;
&lt;br /&gt;
[[Sandbox]] In here you can test wiki language.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=OpenMower&amp;diff=371</id>
		<title>OpenMower</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=OpenMower&amp;diff=371"/>
		<updated>2023-04-18T09:42:07Z</updated>

		<summary type="html">&lt;p&gt;Damme: Created page with &amp;quot;Subscribers:     1. cmd_vel_sub: Subscribes to the cmd_vel topic.         ◦ Message Type: geometry_msgs::Twist         ◦ Description: Contains the desired linear and angular velocities for the robot.         ◦ Contents:             ▪ linear.x: Linear velocity in the x-axis direction (m/s).             ▪ linear.y: Linear velocity in the y-axis direction (m/s).             ▪ linear.z: Linear velocity in the z-axis direction (m/s).             ▪ angular.x: Ang...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Subscribers:&lt;br /&gt;
    1. cmd_vel_sub: Subscribes to the cmd_vel topic.&lt;br /&gt;
        ◦ Message Type: geometry_msgs::Twist&lt;br /&gt;
        ◦ Description: Contains the desired linear and angular velocities for the robot.&lt;br /&gt;
        ◦ Contents:&lt;br /&gt;
            ▪ linear.x: Linear velocity in the x-axis direction (m/s).&lt;br /&gt;
            ▪ linear.y: Linear velocity in the y-axis direction (m/s).&lt;br /&gt;
            ▪ linear.z: Linear velocity in the z-axis direction (m/s).&lt;br /&gt;
            ▪ angular.x: Angular velocity around the x-axis (rad/s).&lt;br /&gt;
            ▪ angular.y: Angular velocity around the y-axis (rad/s).&lt;br /&gt;
            ▪ angular.z: Angular velocity around the z-axis (rad/s).&lt;br /&gt;
    2. high_level_status_sub: Subscribes to the /mower_logic/current_state topic.&lt;br /&gt;
        ◦ Message Type: mower_msgs::HighLevelStatus&lt;br /&gt;
        ◦ Description: Receives the high-level state of the mower from the mower logic node. This state includes information about the current operating mode, substate, GPS quality, battery status, charging status, and emergency flag.&lt;br /&gt;
        ◦ Fields:&lt;br /&gt;
            ▪ state: An integer representing the current high-level state of the mower (e.g., idle, autonomous, recording, etc.).&lt;br /&gt;
            ▪ state_name: A string representing the name of the current high-level state (e.g., &amp;quot;IDLE&amp;quot;, &amp;quot;AUTONOMOUS&amp;quot;, &amp;quot;RECORDING&amp;quot;).&lt;br /&gt;
            ▪ sub_state_name: A string representing the name of the current substate (e.g., &amp;quot;SUBSTATE_1&amp;quot;, &amp;quot;SUBSTATE_2&amp;quot;, &amp;quot;SUBSTATE_3&amp;quot;, &amp;quot;SUBSTATE_4&amp;quot;).&lt;br /&gt;
            ▪ gps_quality_percent: A float32 value representing the GPS quality as a percentage, where 0% indicates no GPS signal and 100% indicates a perfect GPS signal.&lt;br /&gt;
            ▪ battery_percent: A float32 value representing the battery charge level as a percentage, where 0% indicates an empty battery and 100% indicates a fully charged battery.&lt;br /&gt;
            ▪ is_charging: A boolean value indicating whether the mower is currently charging or not.&lt;br /&gt;
            ▪ emergency: A boolean value indicating if there is an active emergency situation, such as a collision, detected by the mower.&lt;br /&gt;
        ◦ Callback Function: highLevelStatusReceived&lt;br /&gt;
            ▪ Description: Handles the received high-level state of the mower, updating the internal state representation for the mower communication node.&lt;br /&gt;
Publishers:&lt;br /&gt;
    1. status_pub: Publishes to the /mower/status topic.&lt;br /&gt;
        ◦ Message Type: mower_msgs::Status&lt;br /&gt;
        ◦ Description: Publishes the current status of the mower, including information about the mower's low-level systems, power status, ultrasonic range measurements, emergency status, battery, and ESC statuses.&lt;br /&gt;
        ◦ Fields:&lt;br /&gt;
            ▪ stamp: A time object representing the timestamp of the message.&lt;br /&gt;
            ▪ mower_status: An integer representing the mower's status, such as initializing or OK.&lt;br /&gt;
            ▪ raspberry_pi_power: A boolean value indicating if the Raspberry Pi has power.&lt;br /&gt;
            ▪ gps_power: A boolean value indicating if the GPS module has power.&lt;br /&gt;
            ▪ esc_power: A boolean value indicating if the Electronic Speed Controllers (ESCs) have power.&lt;br /&gt;
            ▪ rain_detected: A boolean value indicating if rain is detected.&lt;br /&gt;
            ▪ sound_module_available: A boolean value indicating if the sound module is available.&lt;br /&gt;
            ▪ sound_module_busy: A boolean value indicating if the sound module is busy.&lt;br /&gt;
            ▪ ui_board_available: A boolean value indicating if the UI board is available.&lt;br /&gt;
            ▪ ultrasonic_ranges: An array of 5 float32 values representing the ultrasonic range measurements.&lt;br /&gt;
            ▪ emergency: A boolean value indicating if there is an active emergency situation, such as a collision, detected by the mower.&lt;br /&gt;
            ▪ v_charge: A float32 value representing the charge voltage.&lt;br /&gt;
            ▪ v_battery: A float32 value representing the battery voltage.&lt;br /&gt;
            ▪ charge_current: A float32 value representing the charge current.&lt;br /&gt;
            ▪ left_esc_status: An ESCStatus object containing information about the status of the left ESC.&lt;br /&gt;
            ▪ right_esc_status: An ESCStatus object containing information about the status of the right ESC.&lt;br /&gt;
            ▪ mow_esc_status: An ESCStatus object containing information about the status of the mow ESC.&lt;br /&gt;
    2. wheel_tick_pub: Publishes the mower/wheel_ticks topic.&lt;br /&gt;
        ◦ Message Type: xbot_msgs::WheelTick&lt;br /&gt;
        ◦ Description: Publishes the wheel tick information for the left and right wheels of the mower, which is used to calculate odometry.&lt;br /&gt;
        ◦ Fields:&lt;br /&gt;
            ▪ header: Standard ROS message header containing a timestamp and frame_id.&lt;br /&gt;
            ▪ left_ticks: The number of ticks for the left wheel since the last message.&lt;br /&gt;
            ▪ right_ticks: The number of ticks for the right wheel since the last message.&lt;br /&gt;
            ▪ interval: The time interval in seconds between the current and previous wheel tick message.&lt;br /&gt;
    3. sensor_imu_pub: Publishes to the imu/data_raw topic.&lt;br /&gt;
        ◦ Message Type: sensor_msgs::Imu&lt;br /&gt;
        ◦ Description: Provides raw IMU data, including linear acceleration and angular velocity.&lt;br /&gt;
        ◦ Contents:&lt;br /&gt;
            ▪ header: Message header, containing timestamp and frame ID.&lt;br /&gt;
            ▪ orientation: Orientation as a quaternion (x, y, z, w).&lt;br /&gt;
            ▪ orientation_covariance: Orientation covariance matrix (3x3).&lt;br /&gt;
            ▪ angular_velocity: Angular velocity vector (x, y, z) in rad/s.&lt;br /&gt;
            ▪ angular_velocity_covariance: Angular velocity covariance matrix (3x3).&lt;br /&gt;
            ▪ linear_acceleration: Linear acceleration vector (x, y, z) in m/s^2.&lt;br /&gt;
            ▪ linear_acceleration_covariance: Linear acceleration covariance matrix (3x3).&lt;br /&gt;
    4. sensor_mag_pub: Publishes to the imu/mag topic.&lt;br /&gt;
        ◦ Message Type: sensor_msgs::MagneticField&lt;br /&gt;
        ◦ Description: Provides magnetic field data from the IMU.&lt;br /&gt;
        ◦ Contents:&lt;br /&gt;
            ▪ header: Message header, containing timestamp and frame ID.&lt;br /&gt;
            ▪ magnetic_field: Magnetic field vector (x, y, z) in Tesla.&lt;br /&gt;
            ▪ magnetic_field_covariance: Magnetic field covariance matrix (3x3).&lt;br /&gt;
Services:&lt;br /&gt;
    1. mow_service: Advertises the mower_service/mow_enabled service.&lt;br /&gt;
        ◦ Service Type: std_srvs::SetBool&lt;br /&gt;
        ◦ Description: Allows enabling or disabling the mower's mowing functionality.&lt;br /&gt;
        ◦ Request Fields:&lt;br /&gt;
            ▪ data: A boolean value representing the desired state of the mower's mowing functionality. True for enabling and False for disabling.&lt;br /&gt;
        ◦ Response Fields:&lt;br /&gt;
            ▪ success: A boolean value indicating if the requested operation was successful.&lt;br /&gt;
            ▪ message: A string providing additional information about the outcome of the operation.&lt;br /&gt;
    2. emergency_service: Advertises the mower_service/emergency service.&lt;br /&gt;
        ◦ Service Type: std_srvs::Trigger&lt;br /&gt;
        ◦ Description: Triggers an emergency stop for the mower.&lt;br /&gt;
        ◦ Request Fields: No fields required.&lt;br /&gt;
        ◦ Response Fields:&lt;br /&gt;
            ▪ success: A boolean value indicating if the emergency stop was successfully triggered.&lt;br /&gt;
            ▪ message: A string providing additional information about the outcome of the operation.&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Development&amp;diff=370</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Development&amp;diff=370"/>
		<updated>2023-04-18T09:35:10Z</updated>

		<summary type="html">&lt;p&gt;Damme: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[OpenMower]]&lt;br /&gt;
* https://twitter.com/perborgen/status/1580930648797483010 CSS Grid&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=369</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=369"/>
		<updated>2023-03-08T17:27:38Z</updated>

		<summary type="html">&lt;p&gt;Damme: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= URL =&lt;br /&gt;
* http://falstad.com/circuit/circuitjs.html&lt;br /&gt;
= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
* https://rightbattery.com&lt;br /&gt;
&lt;br /&gt;
= Chip Hacking =&lt;br /&gt;
* https://github.com/debug-silicon/C8051F34x_Glitch&lt;br /&gt;
* https://www.mouser.se/ProductDetail/NewAE/NAE-CWLITE-ARM?qs=sGAEpiMZZMurtJ7VwBTl0Rm64lZhrtuCiY9L%252BSlUYJCrD9xW0HP9GQ%3D%3D&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://www.c64-tools.com/&lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
* https://www.youtube.com/watch?v=F1685u-QQ0k MCE adapter etc&lt;br /&gt;
* http://15khz.wikidot.com&lt;br /&gt;
* https://github.com/planeturban/15khzvgatester&lt;br /&gt;
* https://github.com/mecparts/RetroWiFiModem&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;br /&gt;
&lt;br /&gt;
== Raspberry pi ==&lt;br /&gt;
* https://iosoft.blog/2020/07/16/raspberry-pi-smi/&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=368</id>
		<title>Damme's linux stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=368"/>
		<updated>2023-02-07T12:58:12Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* rsync */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Profile.d/damme.sh ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
alias ls='ls --group-directories-first -hF --color=auto'&lt;br /&gt;
alias more='less'&lt;br /&gt;
alias nano='nano -w'&lt;br /&gt;
alias du='du -c -h'&lt;br /&gt;
alias diff='diff --color=auto'&lt;br /&gt;
alias grep='grep --color=auto -ni'&lt;br /&gt;
alias fgrep='fgrep --color=auto'&lt;br /&gt;
alias egrep='egrep --color=auto'&lt;br /&gt;
alias free='free -h'&lt;br /&gt;
alias ip='ip -color=auto'&lt;br /&gt;
alias ll='ls -l'&lt;br /&gt;
alias la='ls -A'&lt;br /&gt;
alias l='ls -lrtha'&lt;br /&gt;
&lt;br /&gt;
function cdl(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function cdal(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls -al&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export LESS=-R&lt;br /&gt;
export LESS_TERMCAP_mb=$'\E[1;31m'     # begin blink&lt;br /&gt;
export LESS_TERMCAP_md=$'\E[1;36m'     # begin bold&lt;br /&gt;
export LESS_TERMCAP_me=$'\E[0m'        # reset bold/blink&lt;br /&gt;
export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video&lt;br /&gt;
export LESS_TERMCAP_se=$'\E[0m'        # reset reverse video&lt;br /&gt;
export LESS_TERMCAP_us=$'\E[1;32m'     # begin underline&lt;br /&gt;
export LESS_TERMCAP_ue=$'\E[0m'        # reset underline&lt;br /&gt;
&lt;br /&gt;
export EDITOR=&amp;quot;nano&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export TERM='xterm-256color'&lt;br /&gt;
# if term == rxvt-unicode-256color &amp;amp;&amp;amp; file not exists -&amp;gt; xterm-256color&lt;br /&gt;
&lt;br /&gt;
_islinux=false&lt;br /&gt;
[[ &amp;quot;$(uname -s)&amp;quot; =~ Linux|GNU|GNU/* ]] &amp;amp;&amp;amp; _islinux=true&lt;br /&gt;
&lt;br /&gt;
_isarch=false&lt;br /&gt;
[[ -f /etc/arch-release ]] &amp;amp;&amp;amp; _isarch=true&lt;br /&gt;
&lt;br /&gt;
_isxrunning=false&lt;br /&gt;
[[ -n &amp;quot;$DISPLAY&amp;quot; ]] &amp;amp;&amp;amp; _isxrunning=true&lt;br /&gt;
&lt;br /&gt;
_isroot=false&lt;br /&gt;
[[ $UID -eq 0 ]] &amp;amp;&amp;amp; _isroot=true&lt;br /&gt;
&lt;br /&gt;
C=$(cat /etc/hostname | md5sum)&lt;br /&gt;
I=&amp;quot;${C:0:1}&amp;quot;&lt;br /&gt;
H=&amp;quot;${C:1:2}&amp;quot;&lt;br /&gt;
CSERV=$((0x${H}))&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -lt 16 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV+16))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -gt 231 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV-25))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
CSERV=&amp;quot;$(tput setaf $CSERV)&amp;quot;&lt;br /&gt;
CNONE=&amp;quot;$(tput sgr0)&amp;quot;&lt;br /&gt;
CROOT=&amp;quot;$(tput setaf 48)&amp;quot;&lt;br /&gt;
if $_isroot; then&lt;br /&gt;
  CROOT=&amp;quot;$(tput setaf 196)&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
CPATH=&amp;quot;$(tput setaf 38)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export PS1=&amp;quot;[$CSERV\u@\h$CNONE]$CPATH\w$CROOT\$$CNONE &amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[ -f /bin/neofetch ]] &amp;amp;&amp;amp; neofetch --disable packages gpu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Text manipulation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sed -e # Show result, Will not change anything&lt;br /&gt;
&lt;br /&gt;
sed -i 's/[Search]/[Replace]/g' [File]&lt;br /&gt;
sed -i '/[row containing]/ s/$/ [append]/' [File] # append to end of line of search&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
=== SOCKS5 proxy ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh -C -N -D [local port] [name]@[server]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate SSH keys ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#generate all keys - don't ask for passkey, save in ~/.ssh/id_rsa&lt;br /&gt;
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_rsa&lt;br /&gt;
&lt;br /&gt;
# if ~/.ssh/id_rsa.pub is missing!&lt;br /&gt;
ssh-keygen -y -f ~/.ssh/id_rsa &amp;gt; ~/.ssh/id_rsa.pub&lt;br /&gt;
&lt;br /&gt;
# copy local 'id_rsa.pub' to remote host '~/.ssh/authorized_keys'&lt;br /&gt;
ssh-copy-id user@host&lt;br /&gt;
&lt;br /&gt;
# Generate all keys for server&lt;br /&gt;
ssh-keygen -A&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sshpiper auth process:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
(client)[id_rsa.pub] -&amp;gt; (sshpiper)[authorized_keys] [id_rsa.pub] -&amp;gt; (target) [authorized_keys]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pacman ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pacman -F $filename # Search package including $filename&lt;br /&gt;
pacman -Qo $filename # Search package including $filename&lt;br /&gt;
pacman -Ss $package # Search $package&lt;br /&gt;
pacman -S $package # Install $package&lt;br /&gt;
pacman -R $package # Remove $package&lt;br /&gt;
&lt;br /&gt;
# remove partial packages:&lt;br /&gt;
find /var/cache/pacman/pkg/ -iname &amp;quot;*.part&amp;quot; -delete&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filesystems and LVM ==&lt;br /&gt;
=== MDADM ===&lt;br /&gt;
Growing -&amp;gt; https://raid.wiki.kernel.org/index.php/Growing&lt;br /&gt;
&lt;br /&gt;
=== LVM ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
lvcreate -L [SIZE]g -n [NAME] [VG] /dev/[PV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type cache --cachemode writethrough -L 20G -n dataLV_cachepool dataVG/dataLV /dev/fast&lt;br /&gt;
# writethrough ensures that any data written will be stored both in the cache pool LV and on the origin LV. The loss of a device associated with the cache pool LV in this case would not mean the loss of any data;&lt;br /&gt;
# writeback ensures better performance, but at the cost of a higher risk of data loss in case the drive used for cache fails.&lt;br /&gt;
&lt;br /&gt;
lvconvert --splitcache MyVolGroup/rootvol&lt;br /&gt;
lvconvert --uncache MyVolGroup/rootvol&lt;br /&gt;
&lt;br /&gt;
lvresize --resizefs -L +XG vg/lv &lt;br /&gt;
&lt;br /&gt;
# Move LV Between physical drives in same VG - Can be done LIVE&lt;br /&gt;
# Create mirror&lt;br /&gt;
lvconvert -m 1 [LV] [NEW DEV] &lt;br /&gt;
# wait for it to copy data (Check via lvs)&lt;br /&gt;
# Remove mirror&lt;br /&gt;
lvconvert -m 0 [LV] [OLD DEV] &lt;br /&gt;
&lt;br /&gt;
# Alt: pvmove -n [LV] [OLD DEV] [NEW DEV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type thin-pool -n thin-pool -L size vg [pv?]&lt;br /&gt;
&lt;br /&gt;
lvs -o +devices&lt;br /&gt;
&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
# Logical volume [LVM] is used by another device.&lt;br /&gt;
kpartx -d /dev/mapper/[LVM]&lt;br /&gt;
#dmsetup ls&lt;br /&gt;
dmsetup remove [LVM]&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fstab ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/source /destination none defaults,bind 0 0&lt;br /&gt;
&lt;br /&gt;
#check fstab:&lt;br /&gt;
mount -fav&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pv -s 20G &amp;lt; /dev/foo &amp;gt; /dev/baz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat &amp;gt; DiskSpeedResults.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resue Data ===&lt;br /&gt;
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html&lt;br /&gt;
&lt;br /&gt;
=== BTRFS ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Resize BTRFS&lt;br /&gt;
btrfs filesystem resize max /path&lt;br /&gt;
btrfs device usage /path&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raid sas etc ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# spin down sas&lt;br /&gt;
sdparm --readonly --command=stop /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# spin up sas&lt;br /&gt;
sdparm --command=start /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# check status, &amp;quot;Not ready&amp;quot; = not spinning, &amp;quot;Ready&amp;quot; = Spinning&lt;br /&gt;
sdparm --command=ready /dev/xxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Low level format SATA ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
hdparm -I /dev/sda&lt;br /&gt;
# if frozen need to unfreeze&lt;br /&gt;
hdparm --user-master u --security-set-pass llformat /dev/sd_&lt;br /&gt;
hdparm --user-master u --security-erase llformat /dev/sd_&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker ps [-a/--all] # print (all) running containers&lt;br /&gt;
docker exec -it [container_id] /bin/bash # run shell in container#&lt;br /&gt;
docker update --cpuset-cpus=&amp;quot;1-5&amp;quot; [container_id]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reinstall Portainer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker stop portainer&lt;br /&gt;
docker rm portainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&lt;br /&gt;
docker stop portainer &amp;amp;&amp;amp; docker rm portainer &amp;amp;&amp;amp; docker pull portainer/portainer-ce &amp;amp;&amp;amp; docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Generate rsa keys for encrypted communication between &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export PASS=SuperSecret&lt;br /&gt;
export SUBJ='/C=SE/L=Skällinge/O=Unimatrix'&lt;br /&gt;
export DAYS=3650&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -aes256 -out ca-key.pem -passout pass:$PASS 4096&lt;br /&gt;
openssl req -new -x509 -days $DAYS -key ca-key.pem -sha256 -out ca.pem -passin pass:$PASS -subj $SUBJ&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -out server-key.pem 4096&lt;br /&gt;
openssl req -subj &amp;quot;/CN=$HOSTNAME&amp;quot; -sha256 -new -key server-key.pem -out server.csr&lt;br /&gt;
&lt;br /&gt;
echo subjectAltName = DNS:$HOSTNAME,IP:10.0.0.200,IP:127.0.0.1 &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
echo extendedKeyUsage = serverAuth &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out server-cert.pem -extfile extfile.cnf -passin pass:$PASS&lt;br /&gt;
&lt;br /&gt;
#client:&lt;br /&gt;
openssl genrsa -out key.pem 4096&lt;br /&gt;
openssl req -subj '/CN=client' -new -key key.pem -out client.csr&lt;br /&gt;
echo extendedKeyUsage = clientAuth &amp;gt; extfile-client.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out cert.pem -extfile extfile-client.cnf -passin pass:$PASS&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/systemd/system/docker.service.d/execstart.conf ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
#ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:4243&lt;br /&gt;
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ssl/ca.pem --tlscert=/etc/docker/ssl/server-cert.pem --tlskey=/etc/docker/ssl/server-key.pem -H fd:// -H tcp://0.0.0.0:2376&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== netcat ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;test&amp;quot; | nc wiegert.link 12345 # client&lt;br /&gt;
nc -l 12345 -k # listener server, k = continuous&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== systemd ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
systemctl edit --full lvm2-lvmetad.service # edit service&lt;br /&gt;
systemctl edit lvm2-lvmetad.service # edit service override&lt;br /&gt;
systemctl daemon-reload # Reload systemd manager configuration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== rsync ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
rsync -rav&lt;br /&gt;
rsync -ravHAX&lt;br /&gt;
rsync -avHAX --one-file-system&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ZFS ==&lt;br /&gt;
[[ZFS Best practices]]&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
Fixperm on files (664) and folders (775):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
find . -type d -exec chown root:share {} \; -exec chmod 775 {} \;&lt;br /&gt;
find . -type f -exec chown root:share {} \; -exec chmod 664 {} \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
docker + kvm + networking = :( https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
pfsense port forwarding while not being default gw: https://docs.netgate.com/pfsense/en/latest/troubleshooting/nat.html#figure-manual-outbound-nat-local-device&lt;br /&gt;
&lt;br /&gt;
smtprelay via gmail with postfix mailutils, s-nail&lt;br /&gt;
https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/&lt;br /&gt;
&lt;br /&gt;
Nut sending mails -&amp;gt; https://freekode.org/nut-sending-emails/&lt;br /&gt;
&lt;br /&gt;
Secure rsync over SSH without shell access - https://lxadm.com/Secure_rsync_over_SSH_without_shell_access&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipv4=$(curl -s -X GET -4 https://ifconfig.co)&lt;br /&gt;
ipv6=$(curl -s -X GET -6 https://ifconfig.co)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fail2ban ==&lt;br /&gt;
https://wiki.archlinux.org/index.php/Fail2ban&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo pacman -Sy&lt;br /&gt;
sudo pacman --noconfirm -S fail2ban&lt;br /&gt;
sudo cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; /etc/fail2ban/jail.local&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
bantime = 5d&lt;br /&gt;
&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
mode = aggressive&lt;br /&gt;
EOF&lt;br /&gt;
sudo systemctl enable fail2ban.service&lt;br /&gt;
sudo systemctl start fail2ban.service&lt;br /&gt;
&lt;br /&gt;
# Fail2ban status&lt;br /&gt;
fail2ban-client status sshd&lt;br /&gt;
&lt;br /&gt;
# Unban ip:&lt;br /&gt;
fail2ban-client set sshd unbanip 1.2.3.4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UDEV fun! ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
KERNEL==&amp;quot;ttyUSB*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;1a86&amp;quot;, SYMLINK+=&amp;quot;GSM-SIM800&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Reload and re-trigger udev rules without reboot&lt;br /&gt;
udevadm control --reload-rules &amp;amp;&amp;amp; udevadm trigger&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wireshark ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh user@remote &amp;quot;tcpdump -s0 -w - 'port 1234'&amp;quot; | wireshark -k -i -&lt;br /&gt;
&lt;br /&gt;
# Filter macaddress beginning with:&lt;br /&gt;
(ether [0:4] &amp;amp; 0xffffff00 = 0x000c2200) or (ether [6:4] &amp;amp; 0xffffff00 = 0x000c2200)&lt;br /&gt;
&lt;br /&gt;
# First / Last&lt;br /&gt;
eth.addr[0:3] == bc:05:43&lt;br /&gt;
eth.addr[4:2] == 28:06&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Queen Specific changes ==&lt;br /&gt;
* https://forums.servethehome.com/index.php?threads/flash-crossflash-dell-h330-raid-card-to-hba330-12gbps-hba-it-firmware.25498/#post-236242&lt;br /&gt;
* DISABLE WATCHDOG! Server will reboot due to watchdog during reboot in filesystem tasks.. BAD!&lt;br /&gt;
* Added &amp;quot;TimeoutSec=900&amp;quot; in [Service]-Section '''/etc/systemd/system/lvm2-lvmetad.service''' , otherwise shutdown takes too long time and lvmetad gets killed instead of clean shutdown, Results in failed lv which needs lvchange -ay [lvm] or worse - lvconvert --repair.&lt;br /&gt;
*  &amp;lt;del&amp;gt; Docker '''/etc/docker/daemon.json''' added &amp;quot;iptables&amp;quot;: false.&amp;lt;/del&amp;gt; Update: Use /etc/sysctl.d/30-ipforward.conf and /etc/udev/rules.d/99-bridge.rules instead. Docker kills kvm bridges without it. &lt;br /&gt;
* sysctl rules:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#/etc/sysctl.d/40-ipv6.conf:&lt;br /&gt;
# Disable IPv6&lt;br /&gt;
net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
net.ipv6.conf.nic0.disable_ipv6 = 1&lt;br /&gt;
...&lt;br /&gt;
net.ipv6.conf.nicN.disable_ipv6 = 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Note on sysctl reload : https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
* udev rules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/sysctl.d/30-ipforward.conf&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
net.ipv6.conf.default.forwarding=1&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/60-md-stripe-cache.rules&lt;br /&gt;
# Change stripe cache size to maximum, we got the ram! memory_consumed = system_page_size * nr_disks * stripe_cache_size&lt;br /&gt;
# https://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html&lt;br /&gt;
SUBSYSTEM==&amp;quot;block&amp;quot;, KERNEL==&amp;quot;md*&amp;quot;, ACTION==&amp;quot;change&amp;quot;, TEST==&amp;quot;md/stripe_cache_size&amp;quot;, ATTR{md/stripe_cache_size}=&amp;quot;32768&amp;quot;&lt;br /&gt;
&lt;br /&gt;
## TODO ? sudo blockdev --setra ?? -&amp;gt; https://unix.stackexchange.com/questions/71364/persistent-blockdev-setra-read-ahead-setting&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/89-usb.rules&lt;br /&gt;
#ups and TI zigbee module fix:&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/99-bridge.rules&lt;br /&gt;
# reload sysctl if br_netfilter is loaded, wierd stuff happens otherwise.&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, SUBSYSTEM==&amp;quot;module&amp;quot;, KERNEL==&amp;quot;br_netfilter&amp;quot;, RUN+=&amp;quot;/sbin/sysctl --system&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /usr/lib/udev/rules.d/11-dm-lvm.rules&lt;br /&gt;
# Create symlinks for top-level devices only.&lt;br /&gt;
## EDIT BY DAMME 2020-07-22 to populate partitions for libvirt&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, SYMLINK+=&amp;quot;$env{DM_VG_NAME}/$env{DM_LV_NAME}&amp;quot;&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, RUN+=&amp;quot;/sbin/kpartx -un /dev/%E{DM_VG_NAME}/%E{DM_LV_NAME}&amp;quot;, GOTO=&amp;quot;lvm_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New server thoughts ==&lt;br /&gt;
* https://www.youtube.com/watch?v=MucGkPUMjNo Building a Power Efficient Home Server!&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=367</id>
		<title>Damme's linux stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=367"/>
		<updated>2022-10-16T22:14:33Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* New server thoughts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Profile.d/damme.sh ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
alias ls='ls --group-directories-first -hF --color=auto'&lt;br /&gt;
alias more='less'&lt;br /&gt;
alias nano='nano -w'&lt;br /&gt;
alias du='du -c -h'&lt;br /&gt;
alias diff='diff --color=auto'&lt;br /&gt;
alias grep='grep --color=auto -ni'&lt;br /&gt;
alias fgrep='fgrep --color=auto'&lt;br /&gt;
alias egrep='egrep --color=auto'&lt;br /&gt;
alias free='free -h'&lt;br /&gt;
alias ip='ip -color=auto'&lt;br /&gt;
alias ll='ls -l'&lt;br /&gt;
alias la='ls -A'&lt;br /&gt;
alias l='ls -lrtha'&lt;br /&gt;
&lt;br /&gt;
function cdl(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function cdal(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls -al&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export LESS=-R&lt;br /&gt;
export LESS_TERMCAP_mb=$'\E[1;31m'     # begin blink&lt;br /&gt;
export LESS_TERMCAP_md=$'\E[1;36m'     # begin bold&lt;br /&gt;
export LESS_TERMCAP_me=$'\E[0m'        # reset bold/blink&lt;br /&gt;
export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video&lt;br /&gt;
export LESS_TERMCAP_se=$'\E[0m'        # reset reverse video&lt;br /&gt;
export LESS_TERMCAP_us=$'\E[1;32m'     # begin underline&lt;br /&gt;
export LESS_TERMCAP_ue=$'\E[0m'        # reset underline&lt;br /&gt;
&lt;br /&gt;
export EDITOR=&amp;quot;nano&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export TERM='xterm-256color'&lt;br /&gt;
# if term == rxvt-unicode-256color &amp;amp;&amp;amp; file not exists -&amp;gt; xterm-256color&lt;br /&gt;
&lt;br /&gt;
_islinux=false&lt;br /&gt;
[[ &amp;quot;$(uname -s)&amp;quot; =~ Linux|GNU|GNU/* ]] &amp;amp;&amp;amp; _islinux=true&lt;br /&gt;
&lt;br /&gt;
_isarch=false&lt;br /&gt;
[[ -f /etc/arch-release ]] &amp;amp;&amp;amp; _isarch=true&lt;br /&gt;
&lt;br /&gt;
_isxrunning=false&lt;br /&gt;
[[ -n &amp;quot;$DISPLAY&amp;quot; ]] &amp;amp;&amp;amp; _isxrunning=true&lt;br /&gt;
&lt;br /&gt;
_isroot=false&lt;br /&gt;
[[ $UID -eq 0 ]] &amp;amp;&amp;amp; _isroot=true&lt;br /&gt;
&lt;br /&gt;
C=$(cat /etc/hostname | md5sum)&lt;br /&gt;
I=&amp;quot;${C:0:1}&amp;quot;&lt;br /&gt;
H=&amp;quot;${C:1:2}&amp;quot;&lt;br /&gt;
CSERV=$((0x${H}))&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -lt 16 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV+16))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -gt 231 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV-25))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
CSERV=&amp;quot;$(tput setaf $CSERV)&amp;quot;&lt;br /&gt;
CNONE=&amp;quot;$(tput sgr0)&amp;quot;&lt;br /&gt;
CROOT=&amp;quot;$(tput setaf 48)&amp;quot;&lt;br /&gt;
if $_isroot; then&lt;br /&gt;
  CROOT=&amp;quot;$(tput setaf 196)&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
CPATH=&amp;quot;$(tput setaf 38)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export PS1=&amp;quot;[$CSERV\u@\h$CNONE]$CPATH\w$CROOT\$$CNONE &amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[ -f /bin/neofetch ]] &amp;amp;&amp;amp; neofetch --disable packages gpu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Text manipulation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sed -e # Show result, Will not change anything&lt;br /&gt;
&lt;br /&gt;
sed -i 's/[Search]/[Replace]/g' [File]&lt;br /&gt;
sed -i '/[row containing]/ s/$/ [append]/' [File] # append to end of line of search&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
=== SOCKS5 proxy ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh -C -N -D [local port] [name]@[server]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate SSH keys ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#generate all keys - don't ask for passkey, save in ~/.ssh/id_rsa&lt;br /&gt;
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_rsa&lt;br /&gt;
&lt;br /&gt;
# if ~/.ssh/id_rsa.pub is missing!&lt;br /&gt;
ssh-keygen -y -f ~/.ssh/id_rsa &amp;gt; ~/.ssh/id_rsa.pub&lt;br /&gt;
&lt;br /&gt;
# copy local 'id_rsa.pub' to remote host '~/.ssh/authorized_keys'&lt;br /&gt;
ssh-copy-id user@host&lt;br /&gt;
&lt;br /&gt;
# Generate all keys for server&lt;br /&gt;
ssh-keygen -A&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sshpiper auth process:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
(client)[id_rsa.pub] -&amp;gt; (sshpiper)[authorized_keys] [id_rsa.pub] -&amp;gt; (target) [authorized_keys]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pacman ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pacman -F $filename # Search package including $filename&lt;br /&gt;
pacman -Qo $filename # Search package including $filename&lt;br /&gt;
pacman -Ss $package # Search $package&lt;br /&gt;
pacman -S $package # Install $package&lt;br /&gt;
pacman -R $package # Remove $package&lt;br /&gt;
&lt;br /&gt;
# remove partial packages:&lt;br /&gt;
find /var/cache/pacman/pkg/ -iname &amp;quot;*.part&amp;quot; -delete&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filesystems and LVM ==&lt;br /&gt;
=== MDADM ===&lt;br /&gt;
Growing -&amp;gt; https://raid.wiki.kernel.org/index.php/Growing&lt;br /&gt;
&lt;br /&gt;
=== LVM ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
lvcreate -L [SIZE]g -n [NAME] [VG] /dev/[PV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type cache --cachemode writethrough -L 20G -n dataLV_cachepool dataVG/dataLV /dev/fast&lt;br /&gt;
# writethrough ensures that any data written will be stored both in the cache pool LV and on the origin LV. The loss of a device associated with the cache pool LV in this case would not mean the loss of any data;&lt;br /&gt;
# writeback ensures better performance, but at the cost of a higher risk of data loss in case the drive used for cache fails.&lt;br /&gt;
&lt;br /&gt;
lvconvert --splitcache MyVolGroup/rootvol&lt;br /&gt;
lvconvert --uncache MyVolGroup/rootvol&lt;br /&gt;
&lt;br /&gt;
lvresize --resizefs -L +XG vg/lv &lt;br /&gt;
&lt;br /&gt;
# Move LV Between physical drives in same VG - Can be done LIVE&lt;br /&gt;
# Create mirror&lt;br /&gt;
lvconvert -m 1 [LV] [NEW DEV] &lt;br /&gt;
# wait for it to copy data (Check via lvs)&lt;br /&gt;
# Remove mirror&lt;br /&gt;
lvconvert -m 0 [LV] [OLD DEV] &lt;br /&gt;
&lt;br /&gt;
# Alt: pvmove -n [LV] [OLD DEV] [NEW DEV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type thin-pool -n thin-pool -L size vg [pv?]&lt;br /&gt;
&lt;br /&gt;
lvs -o +devices&lt;br /&gt;
&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
# Logical volume [LVM] is used by another device.&lt;br /&gt;
kpartx -d /dev/mapper/[LVM]&lt;br /&gt;
#dmsetup ls&lt;br /&gt;
dmsetup remove [LVM]&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fstab ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/source /destination none defaults,bind 0 0&lt;br /&gt;
&lt;br /&gt;
#check fstab:&lt;br /&gt;
mount -fav&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pv -s 20G &amp;lt; /dev/foo &amp;gt; /dev/baz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat &amp;gt; DiskSpeedResults.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resue Data ===&lt;br /&gt;
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html&lt;br /&gt;
&lt;br /&gt;
=== BTRFS ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Resize BTRFS&lt;br /&gt;
btrfs filesystem resize max /path&lt;br /&gt;
btrfs device usage /path&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raid sas etc ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# spin down sas&lt;br /&gt;
sdparm --readonly --command=stop /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# spin up sas&lt;br /&gt;
sdparm --command=start /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# check status, &amp;quot;Not ready&amp;quot; = not spinning, &amp;quot;Ready&amp;quot; = Spinning&lt;br /&gt;
sdparm --command=ready /dev/xxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Low level format SATA ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
hdparm -I /dev/sda&lt;br /&gt;
# if frozen need to unfreeze&lt;br /&gt;
hdparm --user-master u --security-set-pass llformat /dev/sd_&lt;br /&gt;
hdparm --user-master u --security-erase llformat /dev/sd_&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker ps [-a/--all] # print (all) running containers&lt;br /&gt;
docker exec -it [container_id] /bin/bash # run shell in container#&lt;br /&gt;
docker update --cpuset-cpus=&amp;quot;1-5&amp;quot; [container_id]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reinstall Portainer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker stop portainer&lt;br /&gt;
docker rm portainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&lt;br /&gt;
docker stop portainer &amp;amp;&amp;amp; docker rm portainer &amp;amp;&amp;amp; docker pull portainer/portainer-ce &amp;amp;&amp;amp; docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Generate rsa keys for encrypted communication between &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export PASS=SuperSecret&lt;br /&gt;
export SUBJ='/C=SE/L=Skällinge/O=Unimatrix'&lt;br /&gt;
export DAYS=3650&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -aes256 -out ca-key.pem -passout pass:$PASS 4096&lt;br /&gt;
openssl req -new -x509 -days $DAYS -key ca-key.pem -sha256 -out ca.pem -passin pass:$PASS -subj $SUBJ&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -out server-key.pem 4096&lt;br /&gt;
openssl req -subj &amp;quot;/CN=$HOSTNAME&amp;quot; -sha256 -new -key server-key.pem -out server.csr&lt;br /&gt;
&lt;br /&gt;
echo subjectAltName = DNS:$HOSTNAME,IP:10.0.0.200,IP:127.0.0.1 &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
echo extendedKeyUsage = serverAuth &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out server-cert.pem -extfile extfile.cnf -passin pass:$PASS&lt;br /&gt;
&lt;br /&gt;
#client:&lt;br /&gt;
openssl genrsa -out key.pem 4096&lt;br /&gt;
openssl req -subj '/CN=client' -new -key key.pem -out client.csr&lt;br /&gt;
echo extendedKeyUsage = clientAuth &amp;gt; extfile-client.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out cert.pem -extfile extfile-client.cnf -passin pass:$PASS&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/systemd/system/docker.service.d/execstart.conf ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
#ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:4243&lt;br /&gt;
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ssl/ca.pem --tlscert=/etc/docker/ssl/server-cert.pem --tlskey=/etc/docker/ssl/server-key.pem -H fd:// -H tcp://0.0.0.0:2376&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== netcat ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;test&amp;quot; | nc wiegert.link 12345 # client&lt;br /&gt;
nc -l 12345 -k # listener server, k = continuous&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== systemd ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
systemctl edit --full lvm2-lvmetad.service # edit service&lt;br /&gt;
systemctl edit lvm2-lvmetad.service # edit service override&lt;br /&gt;
systemctl daemon-reload # Reload systemd manager configuration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== rsync ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
rsync -rav&lt;br /&gt;
rsync -ravHAX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ZFS ==&lt;br /&gt;
[[ZFS Best practices]]&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
Fixperm on files (664) and folders (775):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
find . -type d -exec chown root:share {} \; -exec chmod 775 {} \;&lt;br /&gt;
find . -type f -exec chown root:share {} \; -exec chmod 664 {} \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
docker + kvm + networking = :( https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
pfsense port forwarding while not being default gw: https://docs.netgate.com/pfsense/en/latest/troubleshooting/nat.html#figure-manual-outbound-nat-local-device&lt;br /&gt;
&lt;br /&gt;
smtprelay via gmail with postfix mailutils, s-nail&lt;br /&gt;
https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/&lt;br /&gt;
&lt;br /&gt;
Nut sending mails -&amp;gt; https://freekode.org/nut-sending-emails/&lt;br /&gt;
&lt;br /&gt;
Secure rsync over SSH without shell access - https://lxadm.com/Secure_rsync_over_SSH_without_shell_access&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipv4=$(curl -s -X GET -4 https://ifconfig.co)&lt;br /&gt;
ipv6=$(curl -s -X GET -6 https://ifconfig.co)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fail2ban ==&lt;br /&gt;
https://wiki.archlinux.org/index.php/Fail2ban&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo pacman -Sy&lt;br /&gt;
sudo pacman --noconfirm -S fail2ban&lt;br /&gt;
sudo cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; /etc/fail2ban/jail.local&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
bantime = 5d&lt;br /&gt;
&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
mode = aggressive&lt;br /&gt;
EOF&lt;br /&gt;
sudo systemctl enable fail2ban.service&lt;br /&gt;
sudo systemctl start fail2ban.service&lt;br /&gt;
&lt;br /&gt;
# Fail2ban status&lt;br /&gt;
fail2ban-client status sshd&lt;br /&gt;
&lt;br /&gt;
# Unban ip:&lt;br /&gt;
fail2ban-client set sshd unbanip 1.2.3.4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UDEV fun! ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
KERNEL==&amp;quot;ttyUSB*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;1a86&amp;quot;, SYMLINK+=&amp;quot;GSM-SIM800&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Reload and re-trigger udev rules without reboot&lt;br /&gt;
udevadm control --reload-rules &amp;amp;&amp;amp; udevadm trigger&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wireshark ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh user@remote &amp;quot;tcpdump -s0 -w - 'port 1234'&amp;quot; | wireshark -k -i -&lt;br /&gt;
&lt;br /&gt;
# Filter macaddress beginning with:&lt;br /&gt;
(ether [0:4] &amp;amp; 0xffffff00 = 0x000c2200) or (ether [6:4] &amp;amp; 0xffffff00 = 0x000c2200)&lt;br /&gt;
&lt;br /&gt;
# First / Last&lt;br /&gt;
eth.addr[0:3] == bc:05:43&lt;br /&gt;
eth.addr[4:2] == 28:06&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Queen Specific changes ==&lt;br /&gt;
* https://forums.servethehome.com/index.php?threads/flash-crossflash-dell-h330-raid-card-to-hba330-12gbps-hba-it-firmware.25498/#post-236242&lt;br /&gt;
* DISABLE WATCHDOG! Server will reboot due to watchdog during reboot in filesystem tasks.. BAD!&lt;br /&gt;
* Added &amp;quot;TimeoutSec=900&amp;quot; in [Service]-Section '''/etc/systemd/system/lvm2-lvmetad.service''' , otherwise shutdown takes too long time and lvmetad gets killed instead of clean shutdown, Results in failed lv which needs lvchange -ay [lvm] or worse - lvconvert --repair.&lt;br /&gt;
*  &amp;lt;del&amp;gt; Docker '''/etc/docker/daemon.json''' added &amp;quot;iptables&amp;quot;: false.&amp;lt;/del&amp;gt; Update: Use /etc/sysctl.d/30-ipforward.conf and /etc/udev/rules.d/99-bridge.rules instead. Docker kills kvm bridges without it. &lt;br /&gt;
* sysctl rules:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#/etc/sysctl.d/40-ipv6.conf:&lt;br /&gt;
# Disable IPv6&lt;br /&gt;
net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
net.ipv6.conf.nic0.disable_ipv6 = 1&lt;br /&gt;
...&lt;br /&gt;
net.ipv6.conf.nicN.disable_ipv6 = 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Note on sysctl reload : https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
* udev rules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/sysctl.d/30-ipforward.conf&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
net.ipv6.conf.default.forwarding=1&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/60-md-stripe-cache.rules&lt;br /&gt;
# Change stripe cache size to maximum, we got the ram! memory_consumed = system_page_size * nr_disks * stripe_cache_size&lt;br /&gt;
# https://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html&lt;br /&gt;
SUBSYSTEM==&amp;quot;block&amp;quot;, KERNEL==&amp;quot;md*&amp;quot;, ACTION==&amp;quot;change&amp;quot;, TEST==&amp;quot;md/stripe_cache_size&amp;quot;, ATTR{md/stripe_cache_size}=&amp;quot;32768&amp;quot;&lt;br /&gt;
&lt;br /&gt;
## TODO ? sudo blockdev --setra ?? -&amp;gt; https://unix.stackexchange.com/questions/71364/persistent-blockdev-setra-read-ahead-setting&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/89-usb.rules&lt;br /&gt;
#ups and TI zigbee module fix:&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/99-bridge.rules&lt;br /&gt;
# reload sysctl if br_netfilter is loaded, wierd stuff happens otherwise.&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, SUBSYSTEM==&amp;quot;module&amp;quot;, KERNEL==&amp;quot;br_netfilter&amp;quot;, RUN+=&amp;quot;/sbin/sysctl --system&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /usr/lib/udev/rules.d/11-dm-lvm.rules&lt;br /&gt;
# Create symlinks for top-level devices only.&lt;br /&gt;
## EDIT BY DAMME 2020-07-22 to populate partitions for libvirt&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, SYMLINK+=&amp;quot;$env{DM_VG_NAME}/$env{DM_LV_NAME}&amp;quot;&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, RUN+=&amp;quot;/sbin/kpartx -un /dev/%E{DM_VG_NAME}/%E{DM_LV_NAME}&amp;quot;, GOTO=&amp;quot;lvm_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New server thoughts ==&lt;br /&gt;
* https://www.youtube.com/watch?v=MucGkPUMjNo Building a Power Efficient Home Server!&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=366</id>
		<title>Damme's linux stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=366"/>
		<updated>2022-10-16T22:14:15Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Server Queen Specific changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Profile.d/damme.sh ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
alias ls='ls --group-directories-first -hF --color=auto'&lt;br /&gt;
alias more='less'&lt;br /&gt;
alias nano='nano -w'&lt;br /&gt;
alias du='du -c -h'&lt;br /&gt;
alias diff='diff --color=auto'&lt;br /&gt;
alias grep='grep --color=auto -ni'&lt;br /&gt;
alias fgrep='fgrep --color=auto'&lt;br /&gt;
alias egrep='egrep --color=auto'&lt;br /&gt;
alias free='free -h'&lt;br /&gt;
alias ip='ip -color=auto'&lt;br /&gt;
alias ll='ls -l'&lt;br /&gt;
alias la='ls -A'&lt;br /&gt;
alias l='ls -lrtha'&lt;br /&gt;
&lt;br /&gt;
function cdl(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function cdal(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls -al&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export LESS=-R&lt;br /&gt;
export LESS_TERMCAP_mb=$'\E[1;31m'     # begin blink&lt;br /&gt;
export LESS_TERMCAP_md=$'\E[1;36m'     # begin bold&lt;br /&gt;
export LESS_TERMCAP_me=$'\E[0m'        # reset bold/blink&lt;br /&gt;
export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video&lt;br /&gt;
export LESS_TERMCAP_se=$'\E[0m'        # reset reverse video&lt;br /&gt;
export LESS_TERMCAP_us=$'\E[1;32m'     # begin underline&lt;br /&gt;
export LESS_TERMCAP_ue=$'\E[0m'        # reset underline&lt;br /&gt;
&lt;br /&gt;
export EDITOR=&amp;quot;nano&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export TERM='xterm-256color'&lt;br /&gt;
# if term == rxvt-unicode-256color &amp;amp;&amp;amp; file not exists -&amp;gt; xterm-256color&lt;br /&gt;
&lt;br /&gt;
_islinux=false&lt;br /&gt;
[[ &amp;quot;$(uname -s)&amp;quot; =~ Linux|GNU|GNU/* ]] &amp;amp;&amp;amp; _islinux=true&lt;br /&gt;
&lt;br /&gt;
_isarch=false&lt;br /&gt;
[[ -f /etc/arch-release ]] &amp;amp;&amp;amp; _isarch=true&lt;br /&gt;
&lt;br /&gt;
_isxrunning=false&lt;br /&gt;
[[ -n &amp;quot;$DISPLAY&amp;quot; ]] &amp;amp;&amp;amp; _isxrunning=true&lt;br /&gt;
&lt;br /&gt;
_isroot=false&lt;br /&gt;
[[ $UID -eq 0 ]] &amp;amp;&amp;amp; _isroot=true&lt;br /&gt;
&lt;br /&gt;
C=$(cat /etc/hostname | md5sum)&lt;br /&gt;
I=&amp;quot;${C:0:1}&amp;quot;&lt;br /&gt;
H=&amp;quot;${C:1:2}&amp;quot;&lt;br /&gt;
CSERV=$((0x${H}))&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -lt 16 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV+16))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -gt 231 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV-25))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
CSERV=&amp;quot;$(tput setaf $CSERV)&amp;quot;&lt;br /&gt;
CNONE=&amp;quot;$(tput sgr0)&amp;quot;&lt;br /&gt;
CROOT=&amp;quot;$(tput setaf 48)&amp;quot;&lt;br /&gt;
if $_isroot; then&lt;br /&gt;
  CROOT=&amp;quot;$(tput setaf 196)&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
CPATH=&amp;quot;$(tput setaf 38)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export PS1=&amp;quot;[$CSERV\u@\h$CNONE]$CPATH\w$CROOT\$$CNONE &amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[ -f /bin/neofetch ]] &amp;amp;&amp;amp; neofetch --disable packages gpu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Text manipulation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sed -e # Show result, Will not change anything&lt;br /&gt;
&lt;br /&gt;
sed -i 's/[Search]/[Replace]/g' [File]&lt;br /&gt;
sed -i '/[row containing]/ s/$/ [append]/' [File] # append to end of line of search&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
=== SOCKS5 proxy ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh -C -N -D [local port] [name]@[server]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate SSH keys ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#generate all keys - don't ask for passkey, save in ~/.ssh/id_rsa&lt;br /&gt;
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_rsa&lt;br /&gt;
&lt;br /&gt;
# if ~/.ssh/id_rsa.pub is missing!&lt;br /&gt;
ssh-keygen -y -f ~/.ssh/id_rsa &amp;gt; ~/.ssh/id_rsa.pub&lt;br /&gt;
&lt;br /&gt;
# copy local 'id_rsa.pub' to remote host '~/.ssh/authorized_keys'&lt;br /&gt;
ssh-copy-id user@host&lt;br /&gt;
&lt;br /&gt;
# Generate all keys for server&lt;br /&gt;
ssh-keygen -A&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sshpiper auth process:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
(client)[id_rsa.pub] -&amp;gt; (sshpiper)[authorized_keys] [id_rsa.pub] -&amp;gt; (target) [authorized_keys]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pacman ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pacman -F $filename # Search package including $filename&lt;br /&gt;
pacman -Qo $filename # Search package including $filename&lt;br /&gt;
pacman -Ss $package # Search $package&lt;br /&gt;
pacman -S $package # Install $package&lt;br /&gt;
pacman -R $package # Remove $package&lt;br /&gt;
&lt;br /&gt;
# remove partial packages:&lt;br /&gt;
find /var/cache/pacman/pkg/ -iname &amp;quot;*.part&amp;quot; -delete&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filesystems and LVM ==&lt;br /&gt;
=== MDADM ===&lt;br /&gt;
Growing -&amp;gt; https://raid.wiki.kernel.org/index.php/Growing&lt;br /&gt;
&lt;br /&gt;
=== LVM ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
lvcreate -L [SIZE]g -n [NAME] [VG] /dev/[PV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type cache --cachemode writethrough -L 20G -n dataLV_cachepool dataVG/dataLV /dev/fast&lt;br /&gt;
# writethrough ensures that any data written will be stored both in the cache pool LV and on the origin LV. The loss of a device associated with the cache pool LV in this case would not mean the loss of any data;&lt;br /&gt;
# writeback ensures better performance, but at the cost of a higher risk of data loss in case the drive used for cache fails.&lt;br /&gt;
&lt;br /&gt;
lvconvert --splitcache MyVolGroup/rootvol&lt;br /&gt;
lvconvert --uncache MyVolGroup/rootvol&lt;br /&gt;
&lt;br /&gt;
lvresize --resizefs -L +XG vg/lv &lt;br /&gt;
&lt;br /&gt;
# Move LV Between physical drives in same VG - Can be done LIVE&lt;br /&gt;
# Create mirror&lt;br /&gt;
lvconvert -m 1 [LV] [NEW DEV] &lt;br /&gt;
# wait for it to copy data (Check via lvs)&lt;br /&gt;
# Remove mirror&lt;br /&gt;
lvconvert -m 0 [LV] [OLD DEV] &lt;br /&gt;
&lt;br /&gt;
# Alt: pvmove -n [LV] [OLD DEV] [NEW DEV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type thin-pool -n thin-pool -L size vg [pv?]&lt;br /&gt;
&lt;br /&gt;
lvs -o +devices&lt;br /&gt;
&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
# Logical volume [LVM] is used by another device.&lt;br /&gt;
kpartx -d /dev/mapper/[LVM]&lt;br /&gt;
#dmsetup ls&lt;br /&gt;
dmsetup remove [LVM]&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fstab ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/source /destination none defaults,bind 0 0&lt;br /&gt;
&lt;br /&gt;
#check fstab:&lt;br /&gt;
mount -fav&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pv -s 20G &amp;lt; /dev/foo &amp;gt; /dev/baz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat &amp;gt; DiskSpeedResults.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resue Data ===&lt;br /&gt;
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html&lt;br /&gt;
&lt;br /&gt;
=== BTRFS ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Resize BTRFS&lt;br /&gt;
btrfs filesystem resize max /path&lt;br /&gt;
btrfs device usage /path&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raid sas etc ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# spin down sas&lt;br /&gt;
sdparm --readonly --command=stop /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# spin up sas&lt;br /&gt;
sdparm --command=start /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# check status, &amp;quot;Not ready&amp;quot; = not spinning, &amp;quot;Ready&amp;quot; = Spinning&lt;br /&gt;
sdparm --command=ready /dev/xxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Low level format SATA ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
hdparm -I /dev/sda&lt;br /&gt;
# if frozen need to unfreeze&lt;br /&gt;
hdparm --user-master u --security-set-pass llformat /dev/sd_&lt;br /&gt;
hdparm --user-master u --security-erase llformat /dev/sd_&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker ps [-a/--all] # print (all) running containers&lt;br /&gt;
docker exec -it [container_id] /bin/bash # run shell in container#&lt;br /&gt;
docker update --cpuset-cpus=&amp;quot;1-5&amp;quot; [container_id]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reinstall Portainer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker stop portainer&lt;br /&gt;
docker rm portainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&lt;br /&gt;
docker stop portainer &amp;amp;&amp;amp; docker rm portainer &amp;amp;&amp;amp; docker pull portainer/portainer-ce &amp;amp;&amp;amp; docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Generate rsa keys for encrypted communication between &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export PASS=SuperSecret&lt;br /&gt;
export SUBJ='/C=SE/L=Skällinge/O=Unimatrix'&lt;br /&gt;
export DAYS=3650&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -aes256 -out ca-key.pem -passout pass:$PASS 4096&lt;br /&gt;
openssl req -new -x509 -days $DAYS -key ca-key.pem -sha256 -out ca.pem -passin pass:$PASS -subj $SUBJ&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -out server-key.pem 4096&lt;br /&gt;
openssl req -subj &amp;quot;/CN=$HOSTNAME&amp;quot; -sha256 -new -key server-key.pem -out server.csr&lt;br /&gt;
&lt;br /&gt;
echo subjectAltName = DNS:$HOSTNAME,IP:10.0.0.200,IP:127.0.0.1 &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
echo extendedKeyUsage = serverAuth &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out server-cert.pem -extfile extfile.cnf -passin pass:$PASS&lt;br /&gt;
&lt;br /&gt;
#client:&lt;br /&gt;
openssl genrsa -out key.pem 4096&lt;br /&gt;
openssl req -subj '/CN=client' -new -key key.pem -out client.csr&lt;br /&gt;
echo extendedKeyUsage = clientAuth &amp;gt; extfile-client.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out cert.pem -extfile extfile-client.cnf -passin pass:$PASS&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/systemd/system/docker.service.d/execstart.conf ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
#ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:4243&lt;br /&gt;
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ssl/ca.pem --tlscert=/etc/docker/ssl/server-cert.pem --tlskey=/etc/docker/ssl/server-key.pem -H fd:// -H tcp://0.0.0.0:2376&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== netcat ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;test&amp;quot; | nc wiegert.link 12345 # client&lt;br /&gt;
nc -l 12345 -k # listener server, k = continuous&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== systemd ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
systemctl edit --full lvm2-lvmetad.service # edit service&lt;br /&gt;
systemctl edit lvm2-lvmetad.service # edit service override&lt;br /&gt;
systemctl daemon-reload # Reload systemd manager configuration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== rsync ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
rsync -rav&lt;br /&gt;
rsync -ravHAX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ZFS ==&lt;br /&gt;
[[ZFS Best practices]]&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
Fixperm on files (664) and folders (775):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
find . -type d -exec chown root:share {} \; -exec chmod 775 {} \;&lt;br /&gt;
find . -type f -exec chown root:share {} \; -exec chmod 664 {} \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
docker + kvm + networking = :( https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
pfsense port forwarding while not being default gw: https://docs.netgate.com/pfsense/en/latest/troubleshooting/nat.html#figure-manual-outbound-nat-local-device&lt;br /&gt;
&lt;br /&gt;
smtprelay via gmail with postfix mailutils, s-nail&lt;br /&gt;
https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/&lt;br /&gt;
&lt;br /&gt;
Nut sending mails -&amp;gt; https://freekode.org/nut-sending-emails/&lt;br /&gt;
&lt;br /&gt;
Secure rsync over SSH without shell access - https://lxadm.com/Secure_rsync_over_SSH_without_shell_access&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipv4=$(curl -s -X GET -4 https://ifconfig.co)&lt;br /&gt;
ipv6=$(curl -s -X GET -6 https://ifconfig.co)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fail2ban ==&lt;br /&gt;
https://wiki.archlinux.org/index.php/Fail2ban&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo pacman -Sy&lt;br /&gt;
sudo pacman --noconfirm -S fail2ban&lt;br /&gt;
sudo cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; /etc/fail2ban/jail.local&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
bantime = 5d&lt;br /&gt;
&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
mode = aggressive&lt;br /&gt;
EOF&lt;br /&gt;
sudo systemctl enable fail2ban.service&lt;br /&gt;
sudo systemctl start fail2ban.service&lt;br /&gt;
&lt;br /&gt;
# Fail2ban status&lt;br /&gt;
fail2ban-client status sshd&lt;br /&gt;
&lt;br /&gt;
# Unban ip:&lt;br /&gt;
fail2ban-client set sshd unbanip 1.2.3.4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UDEV fun! ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
KERNEL==&amp;quot;ttyUSB*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;1a86&amp;quot;, SYMLINK+=&amp;quot;GSM-SIM800&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Reload and re-trigger udev rules without reboot&lt;br /&gt;
udevadm control --reload-rules &amp;amp;&amp;amp; udevadm trigger&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wireshark ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh user@remote &amp;quot;tcpdump -s0 -w - 'port 1234'&amp;quot; | wireshark -k -i -&lt;br /&gt;
&lt;br /&gt;
# Filter macaddress beginning with:&lt;br /&gt;
(ether [0:4] &amp;amp; 0xffffff00 = 0x000c2200) or (ether [6:4] &amp;amp; 0xffffff00 = 0x000c2200)&lt;br /&gt;
&lt;br /&gt;
# First / Last&lt;br /&gt;
eth.addr[0:3] == bc:05:43&lt;br /&gt;
eth.addr[4:2] == 28:06&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Queen Specific changes ==&lt;br /&gt;
* https://forums.servethehome.com/index.php?threads/flash-crossflash-dell-h330-raid-card-to-hba330-12gbps-hba-it-firmware.25498/#post-236242&lt;br /&gt;
* DISABLE WATCHDOG! Server will reboot due to watchdog during reboot in filesystem tasks.. BAD!&lt;br /&gt;
* Added &amp;quot;TimeoutSec=900&amp;quot; in [Service]-Section '''/etc/systemd/system/lvm2-lvmetad.service''' , otherwise shutdown takes too long time and lvmetad gets killed instead of clean shutdown, Results in failed lv which needs lvchange -ay [lvm] or worse - lvconvert --repair.&lt;br /&gt;
*  &amp;lt;del&amp;gt; Docker '''/etc/docker/daemon.json''' added &amp;quot;iptables&amp;quot;: false.&amp;lt;/del&amp;gt; Update: Use /etc/sysctl.d/30-ipforward.conf and /etc/udev/rules.d/99-bridge.rules instead. Docker kills kvm bridges without it. &lt;br /&gt;
* sysctl rules:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#/etc/sysctl.d/40-ipv6.conf:&lt;br /&gt;
# Disable IPv6&lt;br /&gt;
net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
net.ipv6.conf.nic0.disable_ipv6 = 1&lt;br /&gt;
...&lt;br /&gt;
net.ipv6.conf.nicN.disable_ipv6 = 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Note on sysctl reload : https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
* udev rules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/sysctl.d/30-ipforward.conf&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
net.ipv6.conf.default.forwarding=1&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/60-md-stripe-cache.rules&lt;br /&gt;
# Change stripe cache size to maximum, we got the ram! memory_consumed = system_page_size * nr_disks * stripe_cache_size&lt;br /&gt;
# https://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html&lt;br /&gt;
SUBSYSTEM==&amp;quot;block&amp;quot;, KERNEL==&amp;quot;md*&amp;quot;, ACTION==&amp;quot;change&amp;quot;, TEST==&amp;quot;md/stripe_cache_size&amp;quot;, ATTR{md/stripe_cache_size}=&amp;quot;32768&amp;quot;&lt;br /&gt;
&lt;br /&gt;
## TODO ? sudo blockdev --setra ?? -&amp;gt; https://unix.stackexchange.com/questions/71364/persistent-blockdev-setra-read-ahead-setting&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/89-usb.rules&lt;br /&gt;
#ups and TI zigbee module fix:&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/99-bridge.rules&lt;br /&gt;
# reload sysctl if br_netfilter is loaded, wierd stuff happens otherwise.&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, SUBSYSTEM==&amp;quot;module&amp;quot;, KERNEL==&amp;quot;br_netfilter&amp;quot;, RUN+=&amp;quot;/sbin/sysctl --system&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /usr/lib/udev/rules.d/11-dm-lvm.rules&lt;br /&gt;
# Create symlinks for top-level devices only.&lt;br /&gt;
## EDIT BY DAMME 2020-07-22 to populate partitions for libvirt&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, SYMLINK+=&amp;quot;$env{DM_VG_NAME}/$env{DM_LV_NAME}&amp;quot;&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, RUN+=&amp;quot;/sbin/kpartx -un /dev/%E{DM_VG_NAME}/%E{DM_LV_NAME}&amp;quot;, GOTO=&amp;quot;lvm_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New server thoughts ==&lt;br /&gt;
* https://www.youtube.com/watch?v=MucGkPUMjNo&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Development&amp;diff=365</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Development&amp;diff=365"/>
		<updated>2022-10-15T09:02:28Z</updated>

		<summary type="html">&lt;p&gt;Damme: Created page with &amp;quot;* https://twitter.com/perborgen/status/1580930648797483010 CSS Grid&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://twitter.com/perborgen/status/1580930648797483010 CSS Grid&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Main_Page&amp;diff=364</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Main_Page&amp;diff=364"/>
		<updated>2022-10-15T09:02:13Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Damme's stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== World Wide Wiegert Wiki - The best wiki in the world! ==&lt;br /&gt;
 Skapa en sida genom att skapa dig ett konto, editera denna sida och skriv länken inom brackets&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[namn på sidan]]&amp;lt;/nowiki&amp;gt; - spara och klicka på länken så är det bara att skriva vidare!&lt;br /&gt;
&lt;br /&gt;
== Damme's stuff ==&lt;br /&gt;
&amp;lt;strong&amp;gt;[[Damme's linux stuff]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Damme's windows stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu Server LTS]]&lt;br /&gt;
&lt;br /&gt;
[[Hårdvara]]&lt;br /&gt;
&lt;br /&gt;
[[Development]]&lt;br /&gt;
&lt;br /&gt;
[[Dammes other stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Resor mm]]&lt;br /&gt;
&lt;br /&gt;
== Plupp's stuff ==&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Other pages ==&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;[[Cheat sheet]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MediaWiki format help]]&lt;br /&gt;
&lt;br /&gt;
[[Sandbox]] In here you can test wiki language.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=363</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=363"/>
		<updated>2022-10-13T17:47:41Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Unicode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
 ␀␁␂␃␄␅␆␇&lt;br /&gt;
 ␈␉␊␋␌␍␎␏&lt;br /&gt;
 ␐␑␒␓␔␕␖␗␘&lt;br /&gt;
 ␙␚␛␜␝␞␟␠␡&lt;br /&gt;
 ␢␣␤␥␦&lt;br /&gt;
 ␧␨␩␪␫␬␭␮␯␰␱␲␳␴␵␶␷␸␹␺␻␼␽␾␿⑀⑁⑂⑃⑄⑅⑆&lt;br /&gt;
 ⑇⑈⑉⑊⑋⑌⑍⑎⑏⑐⑑⑒⑓⑔⑕⑖⑗⑘⑙⑚⑛⑜⑝⑞⑟&lt;br /&gt;
 ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳&lt;br /&gt;
 ⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇&lt;br /&gt;
 ⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛&lt;br /&gt;
 ⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵&lt;br /&gt;
 ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ&lt;br /&gt;
 ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ&lt;br /&gt;
 ⓪⓫⓬⓭⓮⓯⓰⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾&lt;br /&gt;
 ⓿─━│┃┄┅┆┇┈┉┊┋&lt;br /&gt;
 ┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫&lt;br /&gt;
 ┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋&lt;br /&gt;
 ╌╍╎╏═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬&lt;br /&gt;
 ╭╮╯╰╱╲╳╴╵╶╷╸╹╺╻╼╽╾╿▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐&lt;br /&gt;
 ░▒▓▔▕▖▗▘▙▚▛▜▝▞▟■□▢▣▤▥▦▧▨▩&lt;br /&gt;
 ▪▫▬▭▮▯▰▱▲△▴▵▶▷▸▹►▻▼▽▾▿◀◁◂◃◄◅◆◇◈◉◊○◌◍◎&lt;br /&gt;
 ●◐◑◒◓◔◕◖◗◘◙◚◛◜◝◞◟◠◡◢◣◤◥◦◧◨◩◪◫◬◭◮◯◰◱◲◳◴◵◶◷◸◹◺◻◼◽◾◿ &lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
* https://www.youtube.com/watch?v=2YQAydJfCd0&lt;br /&gt;
&lt;br /&gt;
* https://catalogs.ssg.asia/peugeot/?lang=en#c3Q9PTQwfHxzdHM9PXsiMTAiOiJNb2RlbCIsIjIwIjoiMjA4IiwiNDAiOiJCb2R5OiA1IERPT1IgU0FMT09OIFwvIEVuZ2luZTogMS4yIGkgVlRpIChFQjIpIn18fGNvZGU9PTFQSUF8fGJvZHk9PUIwREE1fHxlbmdpbmU9PUIwRkNHfHxjYXRfaWQ9PUZDVDAxMDB8fHN1YkdycF9pZD09RkNUMDExMnx8cmVmZG9jcz09QTlGNzcwSDAxQSIsIkE5Rjc3MEgxMEF8fHJlZmRvYz09QTlGNzcwSDAxQXx8c3ViR3JwTmFtZT09VU5ERVJCT0RZIFBST1RFQ1RJT058fHN1cHBsaWVyPT0=&lt;br /&gt;
* https://www.youtube.com/watch?v=QLx2kCVYRiY&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
* https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
* https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
* CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
* https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;br /&gt;
&lt;br /&gt;
=== Heat systems ===&lt;br /&gt;
* https://www.youtube.com/watch?v=D5mznXjkhQM stratification&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=362</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=362"/>
		<updated>2022-10-13T17:44:02Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Unicode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
␀␁␂␃␄␅␆␇&lt;br /&gt;
␈␉␊␋␌␍␎␏&lt;br /&gt;
␐␑␒␓␔␕␖␗␘&lt;br /&gt;
␙␚␛␜␝␞␟␠␡&lt;br /&gt;
␢␣␤␥␦&lt;br /&gt;
␧␨␩␪␫␬␭␮␯␰␱␲␳␴␵␶␷␸␹␺␻␼␽␾␿⑀⑁⑂⑃⑄⑅⑆&lt;br /&gt;
⑇⑈⑉⑊⑋⑌⑍⑎⑏⑐⑑⑒⑓⑔⑕⑖⑗⑘⑙⑚⑛⑜⑝⑞⑟&lt;br /&gt;
①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳&lt;br /&gt;
⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇&lt;br /&gt;
⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛&lt;br /&gt;
⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵&lt;br /&gt;
ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ&lt;br /&gt;
ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ&lt;br /&gt;
⓪⓫⓬⓭⓮⓯⓰⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾&lt;br /&gt;
⓿─━│┃┄┅┆┇┈┉┊┋&lt;br /&gt;
┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫&lt;br /&gt;
┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋&lt;br /&gt;
╌╍╎╏═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬&lt;br /&gt;
╭╮╯╰╱╲╳╴╵╶╷╸╹╺╻╼╽╾╿▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐&lt;br /&gt;
░▒▓▔▕▖▗▘▙▚▛▜▝▞▟■□▢▣▤▥▦▧▨▩&lt;br /&gt;
▪▫▬▭▮▯▰▱▲△▴▵▶▷▸▹►▻▼▽▾▿◀◁◂◃◄◅◆◇◈◉◊○◌◍◎&lt;br /&gt;
●◐◑◒◓◔◕◖◗◘◙◚◛◜◝◞◟◠◡◢◣◤◥◦◧◨◩◪◫◬◭◮◯◰◱◲◳◴◵◶◷◸◹◺◻◼◽◾◿&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
* https://www.youtube.com/watch?v=2YQAydJfCd0&lt;br /&gt;
&lt;br /&gt;
* https://catalogs.ssg.asia/peugeot/?lang=en#c3Q9PTQwfHxzdHM9PXsiMTAiOiJNb2RlbCIsIjIwIjoiMjA4IiwiNDAiOiJCb2R5OiA1IERPT1IgU0FMT09OIFwvIEVuZ2luZTogMS4yIGkgVlRpIChFQjIpIn18fGNvZGU9PTFQSUF8fGJvZHk9PUIwREE1fHxlbmdpbmU9PUIwRkNHfHxjYXRfaWQ9PUZDVDAxMDB8fHN1YkdycF9pZD09RkNUMDExMnx8cmVmZG9jcz09QTlGNzcwSDAxQSIsIkE5Rjc3MEgxMEF8fHJlZmRvYz09QTlGNzcwSDAxQXx8c3ViR3JwTmFtZT09VU5ERVJCT0RZIFBST1RFQ1RJT058fHN1cHBsaWVyPT0=&lt;br /&gt;
* https://www.youtube.com/watch?v=QLx2kCVYRiY&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
* https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
* https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
* CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
* https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;br /&gt;
&lt;br /&gt;
=== Heat systems ===&lt;br /&gt;
* https://www.youtube.com/watch?v=D5mznXjkhQM stratification&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=361</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=361"/>
		<updated>2022-10-13T17:42:15Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Unicode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟␠␡␢␣␤␥␦␧␨␩␪␫␬␭␮␯␰␱␲␳␴␵␶␷␸␹␺␻␼␽␾␿⑀⑁⑂⑃⑄⑅⑆⑇⑈⑉⑊⑋⑌⑍⑎⑏⑐⑑⑒⑓⑔⑕⑖⑗⑘⑙⑚⑛⑜⑝⑞⑟①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ⓪⓫⓬⓭⓮⓯⓰⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾⓿─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋╌╍╎╏═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳╴╵╶╷╸╹╺╻╼╽╾╿▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐░▒▓▔▕▖▗▘▙▚▛▜▝▞▟■□▢▣▤▥▦▧▨▩▪▫▬▭▮▯▰▱▲△▴▵▶▷▸▹►▻▼▽▾▿◀◁◂◃◄◅◆◇◈◉◊○◌◍◎●◐◑◒◓◔◕◖◗◘◙◚◛◜◝◞◟◠◡◢◣◤◥◦◧◨◩◪◫◬◭◮◯◰◱◲◳◴◵◶◷◸◹◺◻◼◽◾◿&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
* https://www.youtube.com/watch?v=2YQAydJfCd0&lt;br /&gt;
&lt;br /&gt;
* https://catalogs.ssg.asia/peugeot/?lang=en#c3Q9PTQwfHxzdHM9PXsiMTAiOiJNb2RlbCIsIjIwIjoiMjA4IiwiNDAiOiJCb2R5OiA1IERPT1IgU0FMT09OIFwvIEVuZ2luZTogMS4yIGkgVlRpIChFQjIpIn18fGNvZGU9PTFQSUF8fGJvZHk9PUIwREE1fHxlbmdpbmU9PUIwRkNHfHxjYXRfaWQ9PUZDVDAxMDB8fHN1YkdycF9pZD09RkNUMDExMnx8cmVmZG9jcz09QTlGNzcwSDAxQSIsIkE5Rjc3MEgxMEF8fHJlZmRvYz09QTlGNzcwSDAxQXx8c3ViR3JwTmFtZT09VU5ERVJCT0RZIFBST1RFQ1RJT058fHN1cHBsaWVyPT0=&lt;br /&gt;
* https://www.youtube.com/watch?v=QLx2kCVYRiY&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
* https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
* https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
* CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
* https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;br /&gt;
&lt;br /&gt;
=== Heat systems ===&lt;br /&gt;
* https://www.youtube.com/watch?v=D5mznXjkhQM stratification&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=360</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=360"/>
		<updated>2022-10-13T12:27:05Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Heat systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
* https://www.youtube.com/watch?v=2YQAydJfCd0&lt;br /&gt;
&lt;br /&gt;
* https://catalogs.ssg.asia/peugeot/?lang=en#c3Q9PTQwfHxzdHM9PXsiMTAiOiJNb2RlbCIsIjIwIjoiMjA4IiwiNDAiOiJCb2R5OiA1IERPT1IgU0FMT09OIFwvIEVuZ2luZTogMS4yIGkgVlRpIChFQjIpIn18fGNvZGU9PTFQSUF8fGJvZHk9PUIwREE1fHxlbmdpbmU9PUIwRkNHfHxjYXRfaWQ9PUZDVDAxMDB8fHN1YkdycF9pZD09RkNUMDExMnx8cmVmZG9jcz09QTlGNzcwSDAxQSIsIkE5Rjc3MEgxMEF8fHJlZmRvYz09QTlGNzcwSDAxQXx8c3ViR3JwTmFtZT09VU5ERVJCT0RZIFBST1RFQ1RJT058fHN1cHBsaWVyPT0=&lt;br /&gt;
* https://www.youtube.com/watch?v=QLx2kCVYRiY&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
* https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
* https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
* CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
* https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;br /&gt;
&lt;br /&gt;
=== Heat systems ===&lt;br /&gt;
* https://www.youtube.com/watch?v=D5mznXjkhQM stratification&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=359</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=359"/>
		<updated>2022-10-13T12:26:52Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Other stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
* https://www.youtube.com/watch?v=2YQAydJfCd0&lt;br /&gt;
&lt;br /&gt;
* https://catalogs.ssg.asia/peugeot/?lang=en#c3Q9PTQwfHxzdHM9PXsiMTAiOiJNb2RlbCIsIjIwIjoiMjA4IiwiNDAiOiJCb2R5OiA1IERPT1IgU0FMT09OIFwvIEVuZ2luZTogMS4yIGkgVlRpIChFQjIpIn18fGNvZGU9PTFQSUF8fGJvZHk9PUIwREE1fHxlbmdpbmU9PUIwRkNHfHxjYXRfaWQ9PUZDVDAxMDB8fHN1YkdycF9pZD09RkNUMDExMnx8cmVmZG9jcz09QTlGNzcwSDAxQSIsIkE5Rjc3MEgxMEF8fHJlZmRvYz09QTlGNzcwSDAxQXx8c3ViR3JwTmFtZT09VU5ERVJCT0RZIFBST1RFQ1RJT058fHN1cHBsaWVyPT0=&lt;br /&gt;
* https://www.youtube.com/watch?v=QLx2kCVYRiY&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
* https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
* https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
* CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
* https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;br /&gt;
&lt;br /&gt;
=== Heat systems ===&lt;br /&gt;
* https://www.youtube.com/watch?v=D5mznXjkhQM&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=358</id>
		<title>Damme's linux stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=358"/>
		<updated>2022-10-05T16:27:38Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Other stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Profile.d/damme.sh ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
alias ls='ls --group-directories-first -hF --color=auto'&lt;br /&gt;
alias more='less'&lt;br /&gt;
alias nano='nano -w'&lt;br /&gt;
alias du='du -c -h'&lt;br /&gt;
alias diff='diff --color=auto'&lt;br /&gt;
alias grep='grep --color=auto -ni'&lt;br /&gt;
alias fgrep='fgrep --color=auto'&lt;br /&gt;
alias egrep='egrep --color=auto'&lt;br /&gt;
alias free='free -h'&lt;br /&gt;
alias ip='ip -color=auto'&lt;br /&gt;
alias ll='ls -l'&lt;br /&gt;
alias la='ls -A'&lt;br /&gt;
alias l='ls -lrtha'&lt;br /&gt;
&lt;br /&gt;
function cdl(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function cdal(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls -al&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export LESS=-R&lt;br /&gt;
export LESS_TERMCAP_mb=$'\E[1;31m'     # begin blink&lt;br /&gt;
export LESS_TERMCAP_md=$'\E[1;36m'     # begin bold&lt;br /&gt;
export LESS_TERMCAP_me=$'\E[0m'        # reset bold/blink&lt;br /&gt;
export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video&lt;br /&gt;
export LESS_TERMCAP_se=$'\E[0m'        # reset reverse video&lt;br /&gt;
export LESS_TERMCAP_us=$'\E[1;32m'     # begin underline&lt;br /&gt;
export LESS_TERMCAP_ue=$'\E[0m'        # reset underline&lt;br /&gt;
&lt;br /&gt;
export EDITOR=&amp;quot;nano&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export TERM='xterm-256color'&lt;br /&gt;
# if term == rxvt-unicode-256color &amp;amp;&amp;amp; file not exists -&amp;gt; xterm-256color&lt;br /&gt;
&lt;br /&gt;
_islinux=false&lt;br /&gt;
[[ &amp;quot;$(uname -s)&amp;quot; =~ Linux|GNU|GNU/* ]] &amp;amp;&amp;amp; _islinux=true&lt;br /&gt;
&lt;br /&gt;
_isarch=false&lt;br /&gt;
[[ -f /etc/arch-release ]] &amp;amp;&amp;amp; _isarch=true&lt;br /&gt;
&lt;br /&gt;
_isxrunning=false&lt;br /&gt;
[[ -n &amp;quot;$DISPLAY&amp;quot; ]] &amp;amp;&amp;amp; _isxrunning=true&lt;br /&gt;
&lt;br /&gt;
_isroot=false&lt;br /&gt;
[[ $UID -eq 0 ]] &amp;amp;&amp;amp; _isroot=true&lt;br /&gt;
&lt;br /&gt;
C=$(cat /etc/hostname | md5sum)&lt;br /&gt;
I=&amp;quot;${C:0:1}&amp;quot;&lt;br /&gt;
H=&amp;quot;${C:1:2}&amp;quot;&lt;br /&gt;
CSERV=$((0x${H}))&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -lt 16 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV+16))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -gt 231 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV-25))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
CSERV=&amp;quot;$(tput setaf $CSERV)&amp;quot;&lt;br /&gt;
CNONE=&amp;quot;$(tput sgr0)&amp;quot;&lt;br /&gt;
CROOT=&amp;quot;$(tput setaf 48)&amp;quot;&lt;br /&gt;
if $_isroot; then&lt;br /&gt;
  CROOT=&amp;quot;$(tput setaf 196)&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
CPATH=&amp;quot;$(tput setaf 38)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export PS1=&amp;quot;[$CSERV\u@\h$CNONE]$CPATH\w$CROOT\$$CNONE &amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[ -f /bin/neofetch ]] &amp;amp;&amp;amp; neofetch --disable packages gpu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Text manipulation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sed -e # Show result, Will not change anything&lt;br /&gt;
&lt;br /&gt;
sed -i 's/[Search]/[Replace]/g' [File]&lt;br /&gt;
sed -i '/[row containing]/ s/$/ [append]/' [File] # append to end of line of search&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
=== SOCKS5 proxy ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh -C -N -D [local port] [name]@[server]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate SSH keys ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#generate all keys - don't ask for passkey, save in ~/.ssh/id_rsa&lt;br /&gt;
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_rsa&lt;br /&gt;
&lt;br /&gt;
# if ~/.ssh/id_rsa.pub is missing!&lt;br /&gt;
ssh-keygen -y -f ~/.ssh/id_rsa &amp;gt; ~/.ssh/id_rsa.pub&lt;br /&gt;
&lt;br /&gt;
# copy local 'id_rsa.pub' to remote host '~/.ssh/authorized_keys'&lt;br /&gt;
ssh-copy-id user@host&lt;br /&gt;
&lt;br /&gt;
# Generate all keys for server&lt;br /&gt;
ssh-keygen -A&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sshpiper auth process:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
(client)[id_rsa.pub] -&amp;gt; (sshpiper)[authorized_keys] [id_rsa.pub] -&amp;gt; (target) [authorized_keys]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pacman ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pacman -F $filename # Search package including $filename&lt;br /&gt;
pacman -Qo $filename # Search package including $filename&lt;br /&gt;
pacman -Ss $package # Search $package&lt;br /&gt;
pacman -S $package # Install $package&lt;br /&gt;
pacman -R $package # Remove $package&lt;br /&gt;
&lt;br /&gt;
# remove partial packages:&lt;br /&gt;
find /var/cache/pacman/pkg/ -iname &amp;quot;*.part&amp;quot; -delete&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filesystems and LVM ==&lt;br /&gt;
=== MDADM ===&lt;br /&gt;
Growing -&amp;gt; https://raid.wiki.kernel.org/index.php/Growing&lt;br /&gt;
&lt;br /&gt;
=== LVM ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
lvcreate -L [SIZE]g -n [NAME] [VG] /dev/[PV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type cache --cachemode writethrough -L 20G -n dataLV_cachepool dataVG/dataLV /dev/fast&lt;br /&gt;
# writethrough ensures that any data written will be stored both in the cache pool LV and on the origin LV. The loss of a device associated with the cache pool LV in this case would not mean the loss of any data;&lt;br /&gt;
# writeback ensures better performance, but at the cost of a higher risk of data loss in case the drive used for cache fails.&lt;br /&gt;
&lt;br /&gt;
lvconvert --splitcache MyVolGroup/rootvol&lt;br /&gt;
lvconvert --uncache MyVolGroup/rootvol&lt;br /&gt;
&lt;br /&gt;
lvresize --resizefs -L +XG vg/lv &lt;br /&gt;
&lt;br /&gt;
# Move LV Between physical drives in same VG - Can be done LIVE&lt;br /&gt;
# Create mirror&lt;br /&gt;
lvconvert -m 1 [LV] [NEW DEV] &lt;br /&gt;
# wait for it to copy data (Check via lvs)&lt;br /&gt;
# Remove mirror&lt;br /&gt;
lvconvert -m 0 [LV] [OLD DEV] &lt;br /&gt;
&lt;br /&gt;
# Alt: pvmove -n [LV] [OLD DEV] [NEW DEV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type thin-pool -n thin-pool -L size vg [pv?]&lt;br /&gt;
&lt;br /&gt;
lvs -o +devices&lt;br /&gt;
&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
# Logical volume [LVM] is used by another device.&lt;br /&gt;
kpartx -d /dev/mapper/[LVM]&lt;br /&gt;
#dmsetup ls&lt;br /&gt;
dmsetup remove [LVM]&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fstab ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/source /destination none defaults,bind 0 0&lt;br /&gt;
&lt;br /&gt;
#check fstab:&lt;br /&gt;
mount -fav&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pv -s 20G &amp;lt; /dev/foo &amp;gt; /dev/baz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat &amp;gt; DiskSpeedResults.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resue Data ===&lt;br /&gt;
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html&lt;br /&gt;
&lt;br /&gt;
=== BTRFS ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Resize BTRFS&lt;br /&gt;
btrfs filesystem resize max /path&lt;br /&gt;
btrfs device usage /path&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raid sas etc ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# spin down sas&lt;br /&gt;
sdparm --readonly --command=stop /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# spin up sas&lt;br /&gt;
sdparm --command=start /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# check status, &amp;quot;Not ready&amp;quot; = not spinning, &amp;quot;Ready&amp;quot; = Spinning&lt;br /&gt;
sdparm --command=ready /dev/xxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Low level format SATA ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
hdparm -I /dev/sda&lt;br /&gt;
# if frozen need to unfreeze&lt;br /&gt;
hdparm --user-master u --security-set-pass llformat /dev/sd_&lt;br /&gt;
hdparm --user-master u --security-erase llformat /dev/sd_&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker ps [-a/--all] # print (all) running containers&lt;br /&gt;
docker exec -it [container_id] /bin/bash # run shell in container#&lt;br /&gt;
docker update --cpuset-cpus=&amp;quot;1-5&amp;quot; [container_id]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reinstall Portainer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker stop portainer&lt;br /&gt;
docker rm portainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&lt;br /&gt;
docker stop portainer &amp;amp;&amp;amp; docker rm portainer &amp;amp;&amp;amp; docker pull portainer/portainer-ce &amp;amp;&amp;amp; docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Generate rsa keys for encrypted communication between &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export PASS=SuperSecret&lt;br /&gt;
export SUBJ='/C=SE/L=Skällinge/O=Unimatrix'&lt;br /&gt;
export DAYS=3650&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -aes256 -out ca-key.pem -passout pass:$PASS 4096&lt;br /&gt;
openssl req -new -x509 -days $DAYS -key ca-key.pem -sha256 -out ca.pem -passin pass:$PASS -subj $SUBJ&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -out server-key.pem 4096&lt;br /&gt;
openssl req -subj &amp;quot;/CN=$HOSTNAME&amp;quot; -sha256 -new -key server-key.pem -out server.csr&lt;br /&gt;
&lt;br /&gt;
echo subjectAltName = DNS:$HOSTNAME,IP:10.0.0.200,IP:127.0.0.1 &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
echo extendedKeyUsage = serverAuth &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out server-cert.pem -extfile extfile.cnf -passin pass:$PASS&lt;br /&gt;
&lt;br /&gt;
#client:&lt;br /&gt;
openssl genrsa -out key.pem 4096&lt;br /&gt;
openssl req -subj '/CN=client' -new -key key.pem -out client.csr&lt;br /&gt;
echo extendedKeyUsage = clientAuth &amp;gt; extfile-client.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out cert.pem -extfile extfile-client.cnf -passin pass:$PASS&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/systemd/system/docker.service.d/execstart.conf ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
#ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:4243&lt;br /&gt;
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ssl/ca.pem --tlscert=/etc/docker/ssl/server-cert.pem --tlskey=/etc/docker/ssl/server-key.pem -H fd:// -H tcp://0.0.0.0:2376&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== netcat ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;test&amp;quot; | nc wiegert.link 12345 # client&lt;br /&gt;
nc -l 12345 -k # listener server, k = continuous&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== systemd ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
systemctl edit --full lvm2-lvmetad.service # edit service&lt;br /&gt;
systemctl edit lvm2-lvmetad.service # edit service override&lt;br /&gt;
systemctl daemon-reload # Reload systemd manager configuration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== rsync ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
rsync -rav&lt;br /&gt;
rsync -ravHAX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ZFS ==&lt;br /&gt;
[[ZFS Best practices]]&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
Fixperm on files (664) and folders (775):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
find . -type d -exec chown root:share {} \; -exec chmod 775 {} \;&lt;br /&gt;
find . -type f -exec chown root:share {} \; -exec chmod 664 {} \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
docker + kvm + networking = :( https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
pfsense port forwarding while not being default gw: https://docs.netgate.com/pfsense/en/latest/troubleshooting/nat.html#figure-manual-outbound-nat-local-device&lt;br /&gt;
&lt;br /&gt;
smtprelay via gmail with postfix mailutils, s-nail&lt;br /&gt;
https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/&lt;br /&gt;
&lt;br /&gt;
Nut sending mails -&amp;gt; https://freekode.org/nut-sending-emails/&lt;br /&gt;
&lt;br /&gt;
Secure rsync over SSH without shell access - https://lxadm.com/Secure_rsync_over_SSH_without_shell_access&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ipv4=$(curl -s -X GET -4 https://ifconfig.co)&lt;br /&gt;
ipv6=$(curl -s -X GET -6 https://ifconfig.co)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fail2ban ==&lt;br /&gt;
https://wiki.archlinux.org/index.php/Fail2ban&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo pacman -Sy&lt;br /&gt;
sudo pacman --noconfirm -S fail2ban&lt;br /&gt;
sudo cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; /etc/fail2ban/jail.local&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
bantime = 5d&lt;br /&gt;
&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
mode = aggressive&lt;br /&gt;
EOF&lt;br /&gt;
sudo systemctl enable fail2ban.service&lt;br /&gt;
sudo systemctl start fail2ban.service&lt;br /&gt;
&lt;br /&gt;
# Fail2ban status&lt;br /&gt;
fail2ban-client status sshd&lt;br /&gt;
&lt;br /&gt;
# Unban ip:&lt;br /&gt;
fail2ban-client set sshd unbanip 1.2.3.4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UDEV fun! ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
KERNEL==&amp;quot;ttyUSB*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;1a86&amp;quot;, SYMLINK+=&amp;quot;GSM-SIM800&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Reload and re-trigger udev rules without reboot&lt;br /&gt;
udevadm control --reload-rules &amp;amp;&amp;amp; udevadm trigger&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wireshark ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh user@remote &amp;quot;tcpdump -s0 -w - 'port 1234'&amp;quot; | wireshark -k -i -&lt;br /&gt;
&lt;br /&gt;
# Filter macaddress beginning with:&lt;br /&gt;
(ether [0:4] &amp;amp; 0xffffff00 = 0x000c2200) or (ether [6:4] &amp;amp; 0xffffff00 = 0x000c2200)&lt;br /&gt;
&lt;br /&gt;
# First / Last&lt;br /&gt;
eth.addr[0:3] == bc:05:43&lt;br /&gt;
eth.addr[4:2] == 28:06&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Queen Specific changes ==&lt;br /&gt;
* https://forums.servethehome.com/index.php?threads/flash-crossflash-dell-h330-raid-card-to-hba330-12gbps-hba-it-firmware.25498/#post-236242&lt;br /&gt;
* DISABLE WATCHDOG! Server will reboot due to watchdog during reboot in filesystem tasks.. BAD!&lt;br /&gt;
* Added &amp;quot;TimeoutSec=900&amp;quot; in [Service]-Section '''/etc/systemd/system/lvm2-lvmetad.service''' , otherwise shutdown takes too long time and lvmetad gets killed instead of clean shutdown, Results in failed lv which needs lvchange -ay [lvm] or worse - lvconvert --repair.&lt;br /&gt;
*  &amp;lt;del&amp;gt; Docker '''/etc/docker/daemon.json''' added &amp;quot;iptables&amp;quot;: false.&amp;lt;/del&amp;gt; Update: Use /etc/sysctl.d/30-ipforward.conf and /etc/udev/rules.d/99-bridge.rules instead. Docker kills kvm bridges without it. &lt;br /&gt;
* sysctl rules:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#/etc/sysctl.d/40-ipv6.conf:&lt;br /&gt;
# Disable IPv6&lt;br /&gt;
net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
net.ipv6.conf.nic0.disable_ipv6 = 1&lt;br /&gt;
...&lt;br /&gt;
net.ipv6.conf.nicN.disable_ipv6 = 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Note on sysctl reload : https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
* udev rules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/sysctl.d/30-ipforward.conf&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
net.ipv6.conf.default.forwarding=1&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/60-md-stripe-cache.rules&lt;br /&gt;
# Change stripe cache size to maximum, we got the ram! memory_consumed = system_page_size * nr_disks * stripe_cache_size&lt;br /&gt;
# https://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html&lt;br /&gt;
SUBSYSTEM==&amp;quot;block&amp;quot;, KERNEL==&amp;quot;md*&amp;quot;, ACTION==&amp;quot;change&amp;quot;, TEST==&amp;quot;md/stripe_cache_size&amp;quot;, ATTR{md/stripe_cache_size}=&amp;quot;32768&amp;quot;&lt;br /&gt;
&lt;br /&gt;
## TODO ? sudo blockdev --setra ?? -&amp;gt; https://unix.stackexchange.com/questions/71364/persistent-blockdev-setra-read-ahead-setting&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/89-usb.rules&lt;br /&gt;
#ups and TI zigbee module fix:&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/99-bridge.rules&lt;br /&gt;
# reload sysctl if br_netfilter is loaded, wierd stuff happens otherwise.&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, SUBSYSTEM==&amp;quot;module&amp;quot;, KERNEL==&amp;quot;br_netfilter&amp;quot;, RUN+=&amp;quot;/sbin/sysctl --system&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /usr/lib/udev/rules.d/11-dm-lvm.rules&lt;br /&gt;
# Create symlinks for top-level devices only.&lt;br /&gt;
## EDIT BY DAMME 2020-07-22 to populate partitions for libvirt&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, SYMLINK+=&amp;quot;$env{DM_VG_NAME}/$env{DM_LV_NAME}&amp;quot;&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, RUN+=&amp;quot;/sbin/kpartx -un /dev/%E{DM_VG_NAME}/%E{DM_LV_NAME}&amp;quot;, GOTO=&amp;quot;lvm_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=357</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=357"/>
		<updated>2022-09-22T10:18:21Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Retro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
* https://rightbattery.com&lt;br /&gt;
&lt;br /&gt;
= Chip Hacking =&lt;br /&gt;
* https://github.com/debug-silicon/C8051F34x_Glitch&lt;br /&gt;
* https://www.mouser.se/ProductDetail/NewAE/NAE-CWLITE-ARM?qs=sGAEpiMZZMurtJ7VwBTl0Rm64lZhrtuCiY9L%252BSlUYJCrD9xW0HP9GQ%3D%3D&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://www.c64-tools.com/&lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
* https://www.youtube.com/watch?v=F1685u-QQ0k MCE adapter etc&lt;br /&gt;
* http://15khz.wikidot.com&lt;br /&gt;
* https://github.com/planeturban/15khzvgatester&lt;br /&gt;
* https://github.com/mecparts/RetroWiFiModem&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;br /&gt;
&lt;br /&gt;
== Raspberry pi ==&lt;br /&gt;
* https://iosoft.blog/2020/07/16/raspberry-pi-smi/&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=356</id>
		<title>Damme's linux stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=356"/>
		<updated>2022-08-19T13:55:32Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* rsync */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Profile.d/damme.sh ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
alias ls='ls --group-directories-first -hF --color=auto'&lt;br /&gt;
alias more='less'&lt;br /&gt;
alias nano='nano -w'&lt;br /&gt;
alias du='du -c -h'&lt;br /&gt;
alias diff='diff --color=auto'&lt;br /&gt;
alias grep='grep --color=auto -ni'&lt;br /&gt;
alias fgrep='fgrep --color=auto'&lt;br /&gt;
alias egrep='egrep --color=auto'&lt;br /&gt;
alias free='free -h'&lt;br /&gt;
alias ip='ip -color=auto'&lt;br /&gt;
alias ll='ls -l'&lt;br /&gt;
alias la='ls -A'&lt;br /&gt;
alias l='ls -lrtha'&lt;br /&gt;
&lt;br /&gt;
function cdl(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function cdal(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls -al&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export LESS=-R&lt;br /&gt;
export LESS_TERMCAP_mb=$'\E[1;31m'     # begin blink&lt;br /&gt;
export LESS_TERMCAP_md=$'\E[1;36m'     # begin bold&lt;br /&gt;
export LESS_TERMCAP_me=$'\E[0m'        # reset bold/blink&lt;br /&gt;
export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video&lt;br /&gt;
export LESS_TERMCAP_se=$'\E[0m'        # reset reverse video&lt;br /&gt;
export LESS_TERMCAP_us=$'\E[1;32m'     # begin underline&lt;br /&gt;
export LESS_TERMCAP_ue=$'\E[0m'        # reset underline&lt;br /&gt;
&lt;br /&gt;
export EDITOR=&amp;quot;nano&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export TERM='xterm-256color'&lt;br /&gt;
# if term == rxvt-unicode-256color &amp;amp;&amp;amp; file not exists -&amp;gt; xterm-256color&lt;br /&gt;
&lt;br /&gt;
_islinux=false&lt;br /&gt;
[[ &amp;quot;$(uname -s)&amp;quot; =~ Linux|GNU|GNU/* ]] &amp;amp;&amp;amp; _islinux=true&lt;br /&gt;
&lt;br /&gt;
_isarch=false&lt;br /&gt;
[[ -f /etc/arch-release ]] &amp;amp;&amp;amp; _isarch=true&lt;br /&gt;
&lt;br /&gt;
_isxrunning=false&lt;br /&gt;
[[ -n &amp;quot;$DISPLAY&amp;quot; ]] &amp;amp;&amp;amp; _isxrunning=true&lt;br /&gt;
&lt;br /&gt;
_isroot=false&lt;br /&gt;
[[ $UID -eq 0 ]] &amp;amp;&amp;amp; _isroot=true&lt;br /&gt;
&lt;br /&gt;
C=$(cat /etc/hostname | md5sum)&lt;br /&gt;
I=&amp;quot;${C:0:1}&amp;quot;&lt;br /&gt;
H=&amp;quot;${C:1:2}&amp;quot;&lt;br /&gt;
CSERV=$((0x${H}))&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -lt 16 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV+16))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -gt 231 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV-25))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
CSERV=&amp;quot;$(tput setaf $CSERV)&amp;quot;&lt;br /&gt;
CNONE=&amp;quot;$(tput sgr0)&amp;quot;&lt;br /&gt;
CROOT=&amp;quot;$(tput setaf 48)&amp;quot;&lt;br /&gt;
if $_isroot; then&lt;br /&gt;
  CROOT=&amp;quot;$(tput setaf 196)&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
CPATH=&amp;quot;$(tput setaf 38)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export PS1=&amp;quot;[$CSERV\u@\h$CNONE]$CPATH\w$CROOT\$$CNONE &amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[ -f /bin/neofetch ]] &amp;amp;&amp;amp; neofetch --disable packages gpu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Text manipulation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sed -e # Show result, Will not change anything&lt;br /&gt;
&lt;br /&gt;
sed -i 's/[Search]/[Replace]/g' [File]&lt;br /&gt;
sed -i '/[row containing]/ s/$/ [append]/' [File] # append to end of line of search&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
=== SOCKS5 proxy ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh -C -N -D [local port] [name]@[server]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate SSH keys ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#generate all keys - don't ask for passkey, save in ~/.ssh/id_rsa&lt;br /&gt;
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_rsa&lt;br /&gt;
&lt;br /&gt;
# if ~/.ssh/id_rsa.pub is missing!&lt;br /&gt;
ssh-keygen -y -f ~/.ssh/id_rsa &amp;gt; ~/.ssh/id_rsa.pub&lt;br /&gt;
&lt;br /&gt;
# copy local 'id_rsa.pub' to remote host '~/.ssh/authorized_keys'&lt;br /&gt;
ssh-copy-id user@host&lt;br /&gt;
&lt;br /&gt;
# Generate all keys for server&lt;br /&gt;
ssh-keygen -A&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sshpiper auth process:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
(client)[id_rsa.pub] -&amp;gt; (sshpiper)[authorized_keys] [id_rsa.pub] -&amp;gt; (target) [authorized_keys]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pacman ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pacman -F $filename # Search package including $filename&lt;br /&gt;
pacman -Qo $filename # Search package including $filename&lt;br /&gt;
pacman -Ss $package # Search $package&lt;br /&gt;
pacman -S $package # Install $package&lt;br /&gt;
pacman -R $package # Remove $package&lt;br /&gt;
&lt;br /&gt;
# remove partial packages:&lt;br /&gt;
find /var/cache/pacman/pkg/ -iname &amp;quot;*.part&amp;quot; -delete&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filesystems and LVM ==&lt;br /&gt;
=== MDADM ===&lt;br /&gt;
Growing -&amp;gt; https://raid.wiki.kernel.org/index.php/Growing&lt;br /&gt;
&lt;br /&gt;
=== LVM ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
lvcreate -L [SIZE]g -n [NAME] [VG] /dev/[PV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type cache --cachemode writethrough -L 20G -n dataLV_cachepool dataVG/dataLV /dev/fast&lt;br /&gt;
# writethrough ensures that any data written will be stored both in the cache pool LV and on the origin LV. The loss of a device associated with the cache pool LV in this case would not mean the loss of any data;&lt;br /&gt;
# writeback ensures better performance, but at the cost of a higher risk of data loss in case the drive used for cache fails.&lt;br /&gt;
&lt;br /&gt;
lvconvert --splitcache MyVolGroup/rootvol&lt;br /&gt;
lvconvert --uncache MyVolGroup/rootvol&lt;br /&gt;
&lt;br /&gt;
lvresize --resizefs -L +XG vg/lv &lt;br /&gt;
&lt;br /&gt;
# Move LV Between physical drives in same VG - Can be done LIVE&lt;br /&gt;
# Create mirror&lt;br /&gt;
lvconvert -m 1 [LV] [NEW DEV] &lt;br /&gt;
# wait for it to copy data (Check via lvs)&lt;br /&gt;
# Remove mirror&lt;br /&gt;
lvconvert -m 0 [LV] [OLD DEV] &lt;br /&gt;
&lt;br /&gt;
# Alt: pvmove -n [LV] [OLD DEV] [NEW DEV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type thin-pool -n thin-pool -L size vg [pv?]&lt;br /&gt;
&lt;br /&gt;
lvs -o +devices&lt;br /&gt;
&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
# Logical volume [LVM] is used by another device.&lt;br /&gt;
kpartx -d /dev/mapper/[LVM]&lt;br /&gt;
#dmsetup ls&lt;br /&gt;
dmsetup remove [LVM]&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fstab ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/source /destination none defaults,bind 0 0&lt;br /&gt;
&lt;br /&gt;
#check fstab:&lt;br /&gt;
mount -fav&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pv -s 20G &amp;lt; /dev/foo &amp;gt; /dev/baz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat &amp;gt; DiskSpeedResults.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resue Data ===&lt;br /&gt;
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html&lt;br /&gt;
&lt;br /&gt;
=== BTRFS ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Resize BTRFS&lt;br /&gt;
btrfs filesystem resize max /path&lt;br /&gt;
btrfs device usage /path&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raid sas etc ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# spin down sas&lt;br /&gt;
sdparm --readonly --command=stop /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# spin up sas&lt;br /&gt;
sdparm --command=start /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# check status, &amp;quot;Not ready&amp;quot; = not spinning, &amp;quot;Ready&amp;quot; = Spinning&lt;br /&gt;
sdparm --command=ready /dev/xxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Low level format SATA ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
hdparm -I /dev/sda&lt;br /&gt;
# if frozen need to unfreeze&lt;br /&gt;
hdparm --user-master u --security-set-pass llformat /dev/sd_&lt;br /&gt;
hdparm --user-master u --security-erase llformat /dev/sd_&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker ps [-a/--all] # print (all) running containers&lt;br /&gt;
docker exec -it [container_id] /bin/bash # run shell in container#&lt;br /&gt;
docker update --cpuset-cpus=&amp;quot;1-5&amp;quot; [container_id]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reinstall Portainer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker stop portainer&lt;br /&gt;
docker rm portainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&lt;br /&gt;
docker stop portainer &amp;amp;&amp;amp; docker rm portainer &amp;amp;&amp;amp; docker pull portainer/portainer-ce &amp;amp;&amp;amp; docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Generate rsa keys for encrypted communication between &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export PASS=SuperSecret&lt;br /&gt;
export SUBJ='/C=SE/L=Skällinge/O=Unimatrix'&lt;br /&gt;
export DAYS=3650&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -aes256 -out ca-key.pem -passout pass:$PASS 4096&lt;br /&gt;
openssl req -new -x509 -days $DAYS -key ca-key.pem -sha256 -out ca.pem -passin pass:$PASS -subj $SUBJ&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -out server-key.pem 4096&lt;br /&gt;
openssl req -subj &amp;quot;/CN=$HOSTNAME&amp;quot; -sha256 -new -key server-key.pem -out server.csr&lt;br /&gt;
&lt;br /&gt;
echo subjectAltName = DNS:$HOSTNAME,IP:10.0.0.200,IP:127.0.0.1 &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
echo extendedKeyUsage = serverAuth &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out server-cert.pem -extfile extfile.cnf -passin pass:$PASS&lt;br /&gt;
&lt;br /&gt;
#client:&lt;br /&gt;
openssl genrsa -out key.pem 4096&lt;br /&gt;
openssl req -subj '/CN=client' -new -key key.pem -out client.csr&lt;br /&gt;
echo extendedKeyUsage = clientAuth &amp;gt; extfile-client.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out cert.pem -extfile extfile-client.cnf -passin pass:$PASS&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/systemd/system/docker.service.d/execstart.conf ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
#ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:4243&lt;br /&gt;
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ssl/ca.pem --tlscert=/etc/docker/ssl/server-cert.pem --tlskey=/etc/docker/ssl/server-key.pem -H fd:// -H tcp://0.0.0.0:2376&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== netcat ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;test&amp;quot; | nc wiegert.link 12345 # client&lt;br /&gt;
nc -l 12345 -k # listener server, k = continuous&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== systemd ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
systemctl edit --full lvm2-lvmetad.service # edit service&lt;br /&gt;
systemctl edit lvm2-lvmetad.service # edit service override&lt;br /&gt;
systemctl daemon-reload # Reload systemd manager configuration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== rsync ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
rsync -rav&lt;br /&gt;
rsync -ravHAX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ZFS ==&lt;br /&gt;
[[ZFS Best practices]]&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
Fixperm on files (664) and folders (775):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
find . -type d -exec chown root:share {} \; -exec chmod 775 {} \;&lt;br /&gt;
find . -type f -exec chown root:share {} \; -exec chmod 664 {} \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
docker + kvm + networking = :( https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
pfsense port forwarding while not being default gw: https://docs.netgate.com/pfsense/en/latest/troubleshooting/nat.html#figure-manual-outbound-nat-local-device&lt;br /&gt;
&lt;br /&gt;
smtprelay via gmail with postfix mailutils, s-nail&lt;br /&gt;
https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/&lt;br /&gt;
&lt;br /&gt;
Nut sending mails -&amp;gt; https://freekode.org/nut-sending-emails/&lt;br /&gt;
&lt;br /&gt;
Secure rsync over SSH without shell access - https://lxadm.com/Secure_rsync_over_SSH_without_shell_access&lt;br /&gt;
&lt;br /&gt;
== Fail2ban ==&lt;br /&gt;
https://wiki.archlinux.org/index.php/Fail2ban&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo pacman -Sy&lt;br /&gt;
sudo pacman --noconfirm -S fail2ban&lt;br /&gt;
sudo cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; /etc/fail2ban/jail.local&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
bantime = 5d&lt;br /&gt;
&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
mode = aggressive&lt;br /&gt;
EOF&lt;br /&gt;
sudo systemctl enable fail2ban.service&lt;br /&gt;
sudo systemctl start fail2ban.service&lt;br /&gt;
&lt;br /&gt;
# Fail2ban status&lt;br /&gt;
fail2ban-client status sshd&lt;br /&gt;
&lt;br /&gt;
# Unban ip:&lt;br /&gt;
fail2ban-client set sshd unbanip 1.2.3.4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UDEV fun! ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
KERNEL==&amp;quot;ttyUSB*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;1a86&amp;quot;, SYMLINK+=&amp;quot;GSM-SIM800&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Reload and re-trigger udev rules without reboot&lt;br /&gt;
udevadm control --reload-rules &amp;amp;&amp;amp; udevadm trigger&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wireshark ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh user@remote &amp;quot;tcpdump -s0 -w - 'port 1234'&amp;quot; | wireshark -k -i -&lt;br /&gt;
&lt;br /&gt;
# Filter macaddress beginning with:&lt;br /&gt;
(ether [0:4] &amp;amp; 0xffffff00 = 0x000c2200) or (ether [6:4] &amp;amp; 0xffffff00 = 0x000c2200)&lt;br /&gt;
&lt;br /&gt;
# First / Last&lt;br /&gt;
eth.addr[0:3] == bc:05:43&lt;br /&gt;
eth.addr[4:2] == 28:06&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Queen Specific changes ==&lt;br /&gt;
* https://forums.servethehome.com/index.php?threads/flash-crossflash-dell-h330-raid-card-to-hba330-12gbps-hba-it-firmware.25498/#post-236242&lt;br /&gt;
* DISABLE WATCHDOG! Server will reboot due to watchdog during reboot in filesystem tasks.. BAD!&lt;br /&gt;
* Added &amp;quot;TimeoutSec=900&amp;quot; in [Service]-Section '''/etc/systemd/system/lvm2-lvmetad.service''' , otherwise shutdown takes too long time and lvmetad gets killed instead of clean shutdown, Results in failed lv which needs lvchange -ay [lvm] or worse - lvconvert --repair.&lt;br /&gt;
*  &amp;lt;del&amp;gt; Docker '''/etc/docker/daemon.json''' added &amp;quot;iptables&amp;quot;: false.&amp;lt;/del&amp;gt; Update: Use /etc/sysctl.d/30-ipforward.conf and /etc/udev/rules.d/99-bridge.rules instead. Docker kills kvm bridges without it. &lt;br /&gt;
* sysctl rules:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#/etc/sysctl.d/40-ipv6.conf:&lt;br /&gt;
# Disable IPv6&lt;br /&gt;
net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
net.ipv6.conf.nic0.disable_ipv6 = 1&lt;br /&gt;
...&lt;br /&gt;
net.ipv6.conf.nicN.disable_ipv6 = 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Note on sysctl reload : https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
* udev rules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/sysctl.d/30-ipforward.conf&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
net.ipv6.conf.default.forwarding=1&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/60-md-stripe-cache.rules&lt;br /&gt;
# Change stripe cache size to maximum, we got the ram! memory_consumed = system_page_size * nr_disks * stripe_cache_size&lt;br /&gt;
# https://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html&lt;br /&gt;
SUBSYSTEM==&amp;quot;block&amp;quot;, KERNEL==&amp;quot;md*&amp;quot;, ACTION==&amp;quot;change&amp;quot;, TEST==&amp;quot;md/stripe_cache_size&amp;quot;, ATTR{md/stripe_cache_size}=&amp;quot;32768&amp;quot;&lt;br /&gt;
&lt;br /&gt;
## TODO ? sudo blockdev --setra ?? -&amp;gt; https://unix.stackexchange.com/questions/71364/persistent-blockdev-setra-read-ahead-setting&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/89-usb.rules&lt;br /&gt;
#ups and TI zigbee module fix:&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/99-bridge.rules&lt;br /&gt;
# reload sysctl if br_netfilter is loaded, wierd stuff happens otherwise.&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, SUBSYSTEM==&amp;quot;module&amp;quot;, KERNEL==&amp;quot;br_netfilter&amp;quot;, RUN+=&amp;quot;/sbin/sysctl --system&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /usr/lib/udev/rules.d/11-dm-lvm.rules&lt;br /&gt;
# Create symlinks for top-level devices only.&lt;br /&gt;
## EDIT BY DAMME 2020-07-22 to populate partitions for libvirt&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, SYMLINK+=&amp;quot;$env{DM_VG_NAME}/$env{DM_LV_NAME}&amp;quot;&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, RUN+=&amp;quot;/sbin/kpartx -un /dev/%E{DM_VG_NAME}/%E{DM_LV_NAME}&amp;quot;, GOTO=&amp;quot;lvm_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=355</id>
		<title>Damme's linux stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_linux_stuff&amp;diff=355"/>
		<updated>2022-08-19T13:55:15Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* ZFS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Profile.d/damme.sh ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
alias ls='ls --group-directories-first -hF --color=auto'&lt;br /&gt;
alias more='less'&lt;br /&gt;
alias nano='nano -w'&lt;br /&gt;
alias du='du -c -h'&lt;br /&gt;
alias diff='diff --color=auto'&lt;br /&gt;
alias grep='grep --color=auto -ni'&lt;br /&gt;
alias fgrep='fgrep --color=auto'&lt;br /&gt;
alias egrep='egrep --color=auto'&lt;br /&gt;
alias free='free -h'&lt;br /&gt;
alias ip='ip -color=auto'&lt;br /&gt;
alias ll='ls -l'&lt;br /&gt;
alias la='ls -A'&lt;br /&gt;
alias l='ls -lrtha'&lt;br /&gt;
&lt;br /&gt;
function cdl(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function cdal(){&lt;br /&gt;
  cd &amp;quot;&amp;quot;&lt;br /&gt;
  ls -al&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export LESS=-R&lt;br /&gt;
export LESS_TERMCAP_mb=$'\E[1;31m'     # begin blink&lt;br /&gt;
export LESS_TERMCAP_md=$'\E[1;36m'     # begin bold&lt;br /&gt;
export LESS_TERMCAP_me=$'\E[0m'        # reset bold/blink&lt;br /&gt;
export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video&lt;br /&gt;
export LESS_TERMCAP_se=$'\E[0m'        # reset reverse video&lt;br /&gt;
export LESS_TERMCAP_us=$'\E[1;32m'     # begin underline&lt;br /&gt;
export LESS_TERMCAP_ue=$'\E[0m'        # reset underline&lt;br /&gt;
&lt;br /&gt;
export EDITOR=&amp;quot;nano&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export TERM='xterm-256color'&lt;br /&gt;
# if term == rxvt-unicode-256color &amp;amp;&amp;amp; file not exists -&amp;gt; xterm-256color&lt;br /&gt;
&lt;br /&gt;
_islinux=false&lt;br /&gt;
[[ &amp;quot;$(uname -s)&amp;quot; =~ Linux|GNU|GNU/* ]] &amp;amp;&amp;amp; _islinux=true&lt;br /&gt;
&lt;br /&gt;
_isarch=false&lt;br /&gt;
[[ -f /etc/arch-release ]] &amp;amp;&amp;amp; _isarch=true&lt;br /&gt;
&lt;br /&gt;
_isxrunning=false&lt;br /&gt;
[[ -n &amp;quot;$DISPLAY&amp;quot; ]] &amp;amp;&amp;amp; _isxrunning=true&lt;br /&gt;
&lt;br /&gt;
_isroot=false&lt;br /&gt;
[[ $UID -eq 0 ]] &amp;amp;&amp;amp; _isroot=true&lt;br /&gt;
&lt;br /&gt;
C=$(cat /etc/hostname | md5sum)&lt;br /&gt;
I=&amp;quot;${C:0:1}&amp;quot;&lt;br /&gt;
H=&amp;quot;${C:1:2}&amp;quot;&lt;br /&gt;
CSERV=$((0x${H}))&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -lt 16 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV+16))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ $CSERV -gt 231 ] ; then&lt;br /&gt;
  CSERV=$(($CSERV-25))&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
CSERV=&amp;quot;$(tput setaf $CSERV)&amp;quot;&lt;br /&gt;
CNONE=&amp;quot;$(tput sgr0)&amp;quot;&lt;br /&gt;
CROOT=&amp;quot;$(tput setaf 48)&amp;quot;&lt;br /&gt;
if $_isroot; then&lt;br /&gt;
  CROOT=&amp;quot;$(tput setaf 196)&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
CPATH=&amp;quot;$(tput setaf 38)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export PS1=&amp;quot;[$CSERV\u@\h$CNONE]$CPATH\w$CROOT\$$CNONE &amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[ -f /bin/neofetch ]] &amp;amp;&amp;amp; neofetch --disable packages gpu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Text manipulation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sed -e # Show result, Will not change anything&lt;br /&gt;
&lt;br /&gt;
sed -i 's/[Search]/[Replace]/g' [File]&lt;br /&gt;
sed -i '/[row containing]/ s/$/ [append]/' [File] # append to end of line of search&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
=== SOCKS5 proxy ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh -C -N -D [local port] [name]@[server]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate SSH keys ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#generate all keys - don't ask for passkey, save in ~/.ssh/id_rsa&lt;br /&gt;
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_rsa&lt;br /&gt;
&lt;br /&gt;
# if ~/.ssh/id_rsa.pub is missing!&lt;br /&gt;
ssh-keygen -y -f ~/.ssh/id_rsa &amp;gt; ~/.ssh/id_rsa.pub&lt;br /&gt;
&lt;br /&gt;
# copy local 'id_rsa.pub' to remote host '~/.ssh/authorized_keys'&lt;br /&gt;
ssh-copy-id user@host&lt;br /&gt;
&lt;br /&gt;
# Generate all keys for server&lt;br /&gt;
ssh-keygen -A&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sshpiper auth process:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
(client)[id_rsa.pub] -&amp;gt; (sshpiper)[authorized_keys] [id_rsa.pub] -&amp;gt; (target) [authorized_keys]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pacman ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pacman -F $filename # Search package including $filename&lt;br /&gt;
pacman -Qo $filename # Search package including $filename&lt;br /&gt;
pacman -Ss $package # Search $package&lt;br /&gt;
pacman -S $package # Install $package&lt;br /&gt;
pacman -R $package # Remove $package&lt;br /&gt;
&lt;br /&gt;
# remove partial packages:&lt;br /&gt;
find /var/cache/pacman/pkg/ -iname &amp;quot;*.part&amp;quot; -delete&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Filesystems and LVM ==&lt;br /&gt;
=== MDADM ===&lt;br /&gt;
Growing -&amp;gt; https://raid.wiki.kernel.org/index.php/Growing&lt;br /&gt;
&lt;br /&gt;
=== LVM ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
lvcreate -L [SIZE]g -n [NAME] [VG] /dev/[PV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type cache --cachemode writethrough -L 20G -n dataLV_cachepool dataVG/dataLV /dev/fast&lt;br /&gt;
# writethrough ensures that any data written will be stored both in the cache pool LV and on the origin LV. The loss of a device associated with the cache pool LV in this case would not mean the loss of any data;&lt;br /&gt;
# writeback ensures better performance, but at the cost of a higher risk of data loss in case the drive used for cache fails.&lt;br /&gt;
&lt;br /&gt;
lvconvert --splitcache MyVolGroup/rootvol&lt;br /&gt;
lvconvert --uncache MyVolGroup/rootvol&lt;br /&gt;
&lt;br /&gt;
lvresize --resizefs -L +XG vg/lv &lt;br /&gt;
&lt;br /&gt;
# Move LV Between physical drives in same VG - Can be done LIVE&lt;br /&gt;
# Create mirror&lt;br /&gt;
lvconvert -m 1 [LV] [NEW DEV] &lt;br /&gt;
# wait for it to copy data (Check via lvs)&lt;br /&gt;
# Remove mirror&lt;br /&gt;
lvconvert -m 0 [LV] [OLD DEV] &lt;br /&gt;
&lt;br /&gt;
# Alt: pvmove -n [LV] [OLD DEV] [NEW DEV]&lt;br /&gt;
&lt;br /&gt;
lvcreate --type thin-pool -n thin-pool -L size vg [pv?]&lt;br /&gt;
&lt;br /&gt;
lvs -o +devices&lt;br /&gt;
&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
# Logical volume [LVM] is used by another device.&lt;br /&gt;
kpartx -d /dev/mapper/[LVM]&lt;br /&gt;
#dmsetup ls&lt;br /&gt;
dmsetup remove [LVM]&lt;br /&gt;
lvremove [LVM]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fstab ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/source /destination none defaults,bind 0 0&lt;br /&gt;
&lt;br /&gt;
#check fstab:&lt;br /&gt;
mount -fav&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pv -s 20G &amp;lt; /dev/foo &amp;gt; /dev/baz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat &amp;gt; DiskSpeedResults.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resue Data ===&lt;br /&gt;
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html&lt;br /&gt;
&lt;br /&gt;
=== BTRFS ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Resize BTRFS&lt;br /&gt;
btrfs filesystem resize max /path&lt;br /&gt;
btrfs device usage /path&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raid sas etc ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# spin down sas&lt;br /&gt;
sdparm --readonly --command=stop /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# spin up sas&lt;br /&gt;
sdparm --command=start /dev/xxx&lt;br /&gt;
&lt;br /&gt;
# check status, &amp;quot;Not ready&amp;quot; = not spinning, &amp;quot;Ready&amp;quot; = Spinning&lt;br /&gt;
sdparm --command=ready /dev/xxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Low level format SATA ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
hdparm -I /dev/sda&lt;br /&gt;
# if frozen need to unfreeze&lt;br /&gt;
hdparm --user-master u --security-set-pass llformat /dev/sd_&lt;br /&gt;
hdparm --user-master u --security-erase llformat /dev/sd_&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker ps [-a/--all] # print (all) running containers&lt;br /&gt;
docker exec -it [container_id] /bin/bash # run shell in container#&lt;br /&gt;
docker update --cpuset-cpus=&amp;quot;1-5&amp;quot; [container_id]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reinstall Portainer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker stop portainer&lt;br /&gt;
docker rm portainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&lt;br /&gt;
docker stop portainer &amp;amp;&amp;amp; docker rm portainer &amp;amp;&amp;amp; docker pull portainer/portainer-ce &amp;amp;&amp;amp; docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer/data:/data portainer/portainer-ce&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Generate rsa keys for encrypted communication between &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export PASS=SuperSecret&lt;br /&gt;
export SUBJ='/C=SE/L=Skällinge/O=Unimatrix'&lt;br /&gt;
export DAYS=3650&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -aes256 -out ca-key.pem -passout pass:$PASS 4096&lt;br /&gt;
openssl req -new -x509 -days $DAYS -key ca-key.pem -sha256 -out ca.pem -passin pass:$PASS -subj $SUBJ&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -out server-key.pem 4096&lt;br /&gt;
openssl req -subj &amp;quot;/CN=$HOSTNAME&amp;quot; -sha256 -new -key server-key.pem -out server.csr&lt;br /&gt;
&lt;br /&gt;
echo subjectAltName = DNS:$HOSTNAME,IP:10.0.0.200,IP:127.0.0.1 &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
echo extendedKeyUsage = serverAuth &amp;gt;&amp;gt; extfile.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out server-cert.pem -extfile extfile.cnf -passin pass:$PASS&lt;br /&gt;
&lt;br /&gt;
#client:&lt;br /&gt;
openssl genrsa -out key.pem 4096&lt;br /&gt;
openssl req -subj '/CN=client' -new -key key.pem -out client.csr&lt;br /&gt;
echo extendedKeyUsage = clientAuth &amp;gt; extfile-client.cnf&lt;br /&gt;
openssl x509 -req -days $DAYS -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \&lt;br /&gt;
  -CAcreateserial -out cert.pem -extfile extfile-client.cnf -passin pass:$PASS&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/systemd/system/docker.service.d/execstart.conf ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
#ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:4243&lt;br /&gt;
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ssl/ca.pem --tlscert=/etc/docker/ssl/server-cert.pem --tlskey=/etc/docker/ssl/server-key.pem -H fd:// -H tcp://0.0.0.0:2376&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== netcat ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;test&amp;quot; | nc wiegert.link 12345 # client&lt;br /&gt;
nc -l 12345 -k # listener server, k = continuous&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== systemd ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
systemctl edit --full lvm2-lvmetad.service # edit service&lt;br /&gt;
systemctl edit lvm2-lvmetad.service # edit service override&lt;br /&gt;
systemctl daemon-reload # Reload systemd manager configuration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== rsync ==&lt;br /&gt;
rsync -rav&lt;br /&gt;
rsync -ravHAX&lt;br /&gt;
&lt;br /&gt;
== ZFS ==&lt;br /&gt;
[[ZFS Best practices]]&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
Fixperm on files (664) and folders (775):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
find . -type d -exec chown root:share {} \; -exec chmod 775 {} \;&lt;br /&gt;
find . -type f -exec chown root:share {} \; -exec chmod 664 {} \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
docker + kvm + networking = :( https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
pfsense port forwarding while not being default gw: https://docs.netgate.com/pfsense/en/latest/troubleshooting/nat.html#figure-manual-outbound-nat-local-device&lt;br /&gt;
&lt;br /&gt;
smtprelay via gmail with postfix mailutils, s-nail&lt;br /&gt;
https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/&lt;br /&gt;
&lt;br /&gt;
Nut sending mails -&amp;gt; https://freekode.org/nut-sending-emails/&lt;br /&gt;
&lt;br /&gt;
Secure rsync over SSH without shell access - https://lxadm.com/Secure_rsync_over_SSH_without_shell_access&lt;br /&gt;
&lt;br /&gt;
== Fail2ban ==&lt;br /&gt;
https://wiki.archlinux.org/index.php/Fail2ban&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo pacman -Sy&lt;br /&gt;
sudo pacman --noconfirm -S fail2ban&lt;br /&gt;
sudo cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; /etc/fail2ban/jail.local&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
bantime = 5d&lt;br /&gt;
&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
mode = aggressive&lt;br /&gt;
EOF&lt;br /&gt;
sudo systemctl enable fail2ban.service&lt;br /&gt;
sudo systemctl start fail2ban.service&lt;br /&gt;
&lt;br /&gt;
# Fail2ban status&lt;br /&gt;
fail2ban-client status sshd&lt;br /&gt;
&lt;br /&gt;
# Unban ip:&lt;br /&gt;
fail2ban-client set sshd unbanip 1.2.3.4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UDEV fun! ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
KERNEL==&amp;quot;ttyUSB*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;1a86&amp;quot;, SYMLINK+=&amp;quot;GSM-SIM800&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Reload and re-trigger udev rules without reboot&lt;br /&gt;
udevadm control --reload-rules &amp;amp;&amp;amp; udevadm trigger&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wireshark ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
ssh user@remote &amp;quot;tcpdump -s0 -w - 'port 1234'&amp;quot; | wireshark -k -i -&lt;br /&gt;
&lt;br /&gt;
# Filter macaddress beginning with:&lt;br /&gt;
(ether [0:4] &amp;amp; 0xffffff00 = 0x000c2200) or (ether [6:4] &amp;amp; 0xffffff00 = 0x000c2200)&lt;br /&gt;
&lt;br /&gt;
# First / Last&lt;br /&gt;
eth.addr[0:3] == bc:05:43&lt;br /&gt;
eth.addr[4:2] == 28:06&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Queen Specific changes ==&lt;br /&gt;
* https://forums.servethehome.com/index.php?threads/flash-crossflash-dell-h330-raid-card-to-hba330-12gbps-hba-it-firmware.25498/#post-236242&lt;br /&gt;
* DISABLE WATCHDOG! Server will reboot due to watchdog during reboot in filesystem tasks.. BAD!&lt;br /&gt;
* Added &amp;quot;TimeoutSec=900&amp;quot; in [Service]-Section '''/etc/systemd/system/lvm2-lvmetad.service''' , otherwise shutdown takes too long time and lvmetad gets killed instead of clean shutdown, Results in failed lv which needs lvchange -ay [lvm] or worse - lvconvert --repair.&lt;br /&gt;
*  &amp;lt;del&amp;gt; Docker '''/etc/docker/daemon.json''' added &amp;quot;iptables&amp;quot;: false.&amp;lt;/del&amp;gt; Update: Use /etc/sysctl.d/30-ipforward.conf and /etc/udev/rules.d/99-bridge.rules instead. Docker kills kvm bridges without it. &lt;br /&gt;
* sysctl rules:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#/etc/sysctl.d/40-ipv6.conf:&lt;br /&gt;
# Disable IPv6&lt;br /&gt;
net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
net.ipv6.conf.nic0.disable_ipv6 = 1&lt;br /&gt;
...&lt;br /&gt;
net.ipv6.conf.nicN.disable_ipv6 = 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Note on sysctl reload : https://serverfault.com/questions/963759/docker-breaks-libvirt-bridge-network&lt;br /&gt;
&lt;br /&gt;
* udev rules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/sysctl.d/30-ipforward.conf&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
net.ipv6.conf.default.forwarding=1&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/60-md-stripe-cache.rules&lt;br /&gt;
# Change stripe cache size to maximum, we got the ram! memory_consumed = system_page_size * nr_disks * stripe_cache_size&lt;br /&gt;
# https://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html&lt;br /&gt;
SUBSYSTEM==&amp;quot;block&amp;quot;, KERNEL==&amp;quot;md*&amp;quot;, ACTION==&amp;quot;change&amp;quot;, TEST==&amp;quot;md/stripe_cache_size&amp;quot;, ATTR{md/stripe_cache_size}=&amp;quot;32768&amp;quot;&lt;br /&gt;
&lt;br /&gt;
## TODO ? sudo blockdev --setra ?? -&amp;gt; https://unix.stackexchange.com/questions/71364/persistent-blockdev-setra-read-ahead-setting&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/89-usb.rules&lt;br /&gt;
#ups and TI zigbee module fix:&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;00&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TIherdsman&amp;quot;&lt;br /&gt;
KERNEL==&amp;quot;ttyACM*&amp;quot;, SUBSYSTEM==&amp;quot;tty&amp;quot;, ENV{ID_USB_INTERFACE_NUM}==&amp;quot;03&amp;quot;, ENV{ID_VENDOR_ID}==&amp;quot;0451&amp;quot;, SYMLINK+=&amp;quot;TImcu&amp;quot;&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;047c&amp;quot;, ATTRS{idProduct}==&amp;quot;ffff&amp;quot;, SYMLINK+=&amp;quot;DellUPS0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /etc/udev/rules.d/99-bridge.rules&lt;br /&gt;
# reload sysctl if br_netfilter is loaded, wierd stuff happens otherwise.&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, SUBSYSTEM==&amp;quot;module&amp;quot;, KERNEL==&amp;quot;br_netfilter&amp;quot;, RUN+=&amp;quot;/sbin/sysctl --system&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# /usr/lib/udev/rules.d/11-dm-lvm.rules&lt;br /&gt;
# Create symlinks for top-level devices only.&lt;br /&gt;
## EDIT BY DAMME 2020-07-22 to populate partitions for libvirt&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, SYMLINK+=&amp;quot;$env{DM_VG_NAME}/$env{DM_LV_NAME}&amp;quot;&lt;br /&gt;
ENV{DM_VG_NAME}==&amp;quot;?*&amp;quot;, ENV{DM_LV_NAME}==&amp;quot;?*&amp;quot;, RUN+=&amp;quot;/sbin/kpartx -un /dev/%E{DM_VG_NAME}/%E{DM_LV_NAME}&amp;quot;, GOTO=&amp;quot;lvm_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Damme%27s_windows_stuff&amp;diff=354</id>
		<title>Damme's windows stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Damme%27s_windows_stuff&amp;diff=354"/>
		<updated>2022-08-18T09:43:29Z</updated>

		<summary type="html">&lt;p&gt;Damme: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fixes ==&lt;br /&gt;
* windows debloater https://github.com/Sycnex/Windows10Debloater&lt;br /&gt;
* Win 11 explorer https://github.com/valinet/ExplorerPatcher&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* https://github.com/integralfx/MemTestHelper&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=353</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=353"/>
		<updated>2022-08-17T15:35:39Z</updated>

		<summary type="html">&lt;p&gt;Damme: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
* https://rightbattery.com&lt;br /&gt;
&lt;br /&gt;
= Chip Hacking =&lt;br /&gt;
* https://github.com/debug-silicon/C8051F34x_Glitch&lt;br /&gt;
* https://www.mouser.se/ProductDetail/NewAE/NAE-CWLITE-ARM?qs=sGAEpiMZZMurtJ7VwBTl0Rm64lZhrtuCiY9L%252BSlUYJCrD9xW0HP9GQ%3D%3D&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
* https://www.youtube.com/watch?v=F1685u-QQ0k MCE adapter etc&lt;br /&gt;
* http://15khz.wikidot.com&lt;br /&gt;
* https://github.com/planeturban/15khzvgatester&lt;br /&gt;
* https://github.com/mecparts/RetroWiFiModem&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;br /&gt;
&lt;br /&gt;
== Raspberry pi ==&lt;br /&gt;
* https://iosoft.blog/2020/07/16/raspberry-pi-smi/&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=352</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=352"/>
		<updated>2022-08-17T13:03:11Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Peugeot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
* https://www.youtube.com/watch?v=2YQAydJfCd0&lt;br /&gt;
&lt;br /&gt;
* https://catalogs.ssg.asia/peugeot/?lang=en#c3Q9PTQwfHxzdHM9PXsiMTAiOiJNb2RlbCIsIjIwIjoiMjA4IiwiNDAiOiJCb2R5OiA1IERPT1IgU0FMT09OIFwvIEVuZ2luZTogMS4yIGkgVlRpIChFQjIpIn18fGNvZGU9PTFQSUF8fGJvZHk9PUIwREE1fHxlbmdpbmU9PUIwRkNHfHxjYXRfaWQ9PUZDVDAxMDB8fHN1YkdycF9pZD09RkNUMDExMnx8cmVmZG9jcz09QTlGNzcwSDAxQSIsIkE5Rjc3MEgxMEF8fHJlZmRvYz09QTlGNzcwSDAxQXx8c3ViR3JwTmFtZT09VU5ERVJCT0RZIFBST1RFQ1RJT058fHN1cHBsaWVyPT0=&lt;br /&gt;
* https://www.youtube.com/watch?v=QLx2kCVYRiY&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=351</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=351"/>
		<updated>2022-08-17T12:48:50Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Peugeot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
* https://www.youtube.com/watch?v=2YQAydJfCd0&lt;br /&gt;
&lt;br /&gt;
* https://catalogs.ssg.asia/peugeot/?lang=en#c3Q9PTQwfHxzdHM9PXsiMTAiOiJNb2RlbCIsIjIwIjoiMjA4IiwiNDAiOiJCb2R5OiA1IERPT1IgU0FMT09OIFwvIEVuZ2luZTogMS4yIGkgVlRpIChFQjIpIn18fGNvZGU9PTFQSUF8fGJvZHk9PUIwREE1fHxlbmdpbmU9PUIwRkNHfHxjYXRfaWQ9PUZDVDAxMDB8fHN1YkdycF9pZD09RkNUMDExMnx8cmVmZG9jcz09QTlGNzcwSDAxQSIsIkE5Rjc3MEgxMEF8fHJlZmRvYz09QTlGNzcwSDAxQXx8c3ViR3JwTmFtZT09VU5ERVJCT0RZIFBST1RFQ1RJT058fHN1cHBsaWVyPT0=&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=350</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=350"/>
		<updated>2022-08-17T12:48:18Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Peugeot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
* https://www.youtube.com/watch?v=2YQAydJfCd0&lt;br /&gt;
&lt;br /&gt;
* https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* https://catalogs.ssg.asia/peugeot/?lang=en#c3Q9PTQwfHxzdHM9PXsiMTAiOiJNb2RlbCIsIjIwIjoiMjA4IiwiNDAiOiJCb2R5OiA1IERPT1IgU0FMT09OIFwvIEVuZ2luZTogMS4yIGkgVlRpIChFQjIpIn18fGNvZGU9PTFQSUF8fGJvZHk9PUIwREE1fHxlbmdpbmU9PUIwRkNHfHxjYXRfaWQ9PUZDVDAxMDB8fHN1YkdycF9pZD09RkNUMDExMnx8cmVmZG9jcz09QTlGNzcwSDAxQSIsIkE5Rjc3MEgxMEF8fHJlZmRvYz09QTlGNzcwSDAxQXx8c3ViR3JwTmFtZT09VU5ERVJCT0RZIFBST1RFQ1RJT058fHN1cHBsaWVyPT0=&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=349</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=349"/>
		<updated>2022-08-17T12:48:12Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Peugeot 208 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
* https://www.youtube.com/watch?v=2YQAydJfCd0&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=348</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=348"/>
		<updated>2022-08-17T12:48:05Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Peugeot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
* https://www.youtube.com/watch?v=2YQAydJfCd0&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Peugeot 208 ===&lt;br /&gt;
* https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* https://catalogs.ssg.asia/peugeot/?lang=en#c3Q9PTQwfHxzdHM9PXsiMTAiOiJNb2RlbCIsIjIwIjoiMjA4IiwiNDAiOiJCb2R5OiA1IERPT1IgU0FMT09OIFwvIEVuZ2luZTogMS4yIGkgVlRpIChFQjIpIn18fGNvZGU9PTFQSUF8fGJvZHk9PUIwREE1fHxlbmdpbmU9PUIwRkNHfHxjYXRfaWQ9PUZDVDAxMDB8fHN1YkdycF9pZD09RkNUMDExMnx8cmVmZG9jcz09QTlGNzcwSDAxQSIsIkE5Rjc3MEgxMEF8fHJlZmRvYz09QTlGNzcwSDAxQXx8c3ViR3JwTmFtZT09VU5ERVJCT0RZIFBST1RFQ1RJT058fHN1cHBsaWVyPT0=&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=347</id>
		<title>Dammes other stuff</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=Dammes_other_stuff&amp;diff=347"/>
		<updated>2022-08-17T12:26:49Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Peugeot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows XP SMP ==&lt;br /&gt;
https://forums.virtualbox.org/viewtopic.php?f=1&amp;amp;t=24823&amp;amp;start=15#p111502&lt;br /&gt;
&lt;br /&gt;
== Windows 10+ Media Creation Tool ==&lt;br /&gt;
https://github.com/AveYo/MediaCreationTool.bat&lt;br /&gt;
&lt;br /&gt;
== Powershell ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Set-PSReadlineKeyHandler -Key ctrl+d -Function ViExit&amp;quot; &amp;gt;&amp;gt; $PROFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode ==&lt;br /&gt;
https://unicode-table.com/en/&lt;br /&gt;
* ° Degree Sign U+00B0&lt;br /&gt;
* ℃ Degree Celsius U+2103&lt;br /&gt;
* K Kelvin Sign U+212A&lt;br /&gt;
* ✓ Check Mark tick, checkmark U+2713&lt;br /&gt;
* ⏎ Return Symbol U+23CE&lt;br /&gt;
* ⮰ Ribbon Arrow Down Left U+2BB0&lt;br /&gt;
* ␍ Symbol for Carriage Return U+240D&lt;br /&gt;
* ™ Trade Mark Sign Emoji trademark, tm U+2122&lt;br /&gt;
* © Copyright Sign Emoji copy, (c) U+00A9&lt;br /&gt;
* ▀ U+2580 ▁ U+2581 ▂ U+2582 ▃ U+2583 ▄ U+2584 ▅ U+2585 ▆ U+2586 ▇ U+2587 █ U+2588 ▉ U+2589 ▊ U+258A ▋ U+258B ▌ U+258C ▍ U+258D ▎ U+258E ▏ U+258F ▐&lt;br /&gt;
* 51° 28′ 38″ N Coordinate&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode&lt;br /&gt;
&lt;br /&gt;
== Virtualbox ==&lt;br /&gt;
https://technet.microsoft.com/en-us/sysinternals/bb897443&lt;br /&gt;
 sdelete.exe c: -z &lt;br /&gt;
 &lt;br /&gt;
 zerofree -v /dev/sda1 &lt;br /&gt;
&lt;br /&gt;
 VBoxManage.exe modifymedium disk &amp;quot;C:\path\to\disk.vdi&amp;quot; --compact&lt;br /&gt;
&lt;br /&gt;
== DJI ==&lt;br /&gt;
* https://mavic-mini-ce-boost.github.io&lt;br /&gt;
* https://gist.github.com/sergiks/687415247eca5a2f2e1ed8677c3b4749&lt;br /&gt;
* https://github.com/444A49/minifindings&lt;br /&gt;
* https://github.com/Bin4ry/deejayeye-modder#want-to-contribute-or-learn-some-stuff&lt;br /&gt;
&lt;br /&gt;
== Rost ==&lt;br /&gt;
Rostbehandling med fosforsyra: Iron(II,III)oxide, iron(III) oxide-hydroxide --&amp;gt;  Iron(III) phosphate&lt;br /&gt;
&lt;br /&gt;
Pensla på, pensla flera gånger och torka sedan av överflödet.&lt;br /&gt;
&lt;br /&gt;
== Peugeot ==&lt;br /&gt;
* Excessive Oil consumption | Peugeot Forums - https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* How to replace the cylinder head cover on Peugeot 1.2 VTi - https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* Timing belt replacement on Peugeot EB2 1.2 VTi PureTech engine - https://www.nomaallim.com/psa-eb2-timing-belt-replacement.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-2.html - https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* Part 1 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* Part 2 of 2 - 2012 PSA Peugeot 208 1.2 VTi Puretech Timing Belt Replacement - https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/car-maintenance--repair.html&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
* COUPONFCNC&lt;br /&gt;
* https://shop.soy.com.tr&lt;br /&gt;
&lt;br /&gt;
=== Retro Computing ===&lt;br /&gt;
https://github.com/erichelgeson/BlueSCSI&lt;br /&gt;
https://www.retrorgb.com/ossc.html&lt;br /&gt;
&lt;br /&gt;
=== Zigbee2Mqtt ===&lt;br /&gt;
CC265R connected to zigbee2mqtt with S2E module https://github.com/Koenkk/zigbee2mqtt/discussions/5266#discussioncomment-323703&lt;br /&gt;
&lt;br /&gt;
=== HAN Interface Aidon ===&lt;br /&gt;
* https://aleel.se/wp-content/uploads/2020/11/AIDONFD-RJ45-HAN-Interface-EN-v14A.pdf&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2019/02/Aidon-HAN-Interface-Description-v11A-ID-34331.pdf&lt;br /&gt;
* https://community.openenergymonitor.org/t/electricity-meters-with-han-interface/11813/3&lt;br /&gt;
* https://www.hjemmeautomasjon.no/forums/topic/2873-lesing-av-han-the-easy-way-tm-wip/?&amp;amp;page=28#comments&lt;br /&gt;
* https://github.com/HWal/ESP8266_HAN_Receive_Web_Relay_Output&lt;br /&gt;
* https://github.com/roarfred/AmsToMqttBridge&lt;br /&gt;
* https://www.ti.com/lit/ds/symlink/tss721a.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1611500746407&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.se%252F&lt;br /&gt;
&lt;br /&gt;
=== Peugeot 208 ===&lt;br /&gt;
* https://www.peugeotforums.com/threads/excessive-oil-consumption.341756/&lt;br /&gt;
* https://www.nomaallim.com/eb2-cylinder-head-cover-replacement.html&lt;br /&gt;
* https://www.youtube.com/watch?v=ekFr2N9aM2Q&lt;br /&gt;
* https://www.youtube.com/watch?v=uKqVPD13u98&lt;br /&gt;
* https://www.nomaallim.com/psa-eb2-timing-belt-replacement-3.html&lt;br /&gt;
* https://catalogs.ssg.asia/peugeot/?lang=en#c3Q9PTQwfHxzdHM9PXsiMTAiOiJNb2RlbCIsIjIwIjoiMjA4IiwiNDAiOiJCb2R5OiA1IERPT1IgU0FMT09OIFwvIEVuZ2luZTogMS4yIGkgVlRpIChFQjIpIn18fGNvZGU9PTFQSUF8fGJvZHk9PUIwREE1fHxlbmdpbmU9PUIwRkNHfHxjYXRfaWQ9PUZDVDAxMDB8fHN1YkdycF9pZD09RkNUMDExMnx8cmVmZG9jcz09QTlGNzcwSDAxQSIsIkE5Rjc3MEgxMEF8fHJlZmRvYz09QTlGNzcwSDAxQXx8c3ViR3JwTmFtZT09VU5ERVJCT0RZIFBST1RFQ1RJT058fHN1cHBsaWVyPT0=&lt;br /&gt;
&lt;br /&gt;
=== Volvo V70 ===&lt;br /&gt;
https://www.myvolvolibrary.info/Tech_files2_ficheiros/V70XC70XC90MY03_Wiring.pdf&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=346</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=346"/>
		<updated>2022-08-02T21:18:12Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Retro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
* https://rightbattery.com&lt;br /&gt;
&lt;br /&gt;
= Chip Hacking =&lt;br /&gt;
* https://github.com/debug-silicon/C8051F34x_Glitch&lt;br /&gt;
* https://www.mouser.se/ProductDetail/NewAE/NAE-CWLITE-ARM?qs=sGAEpiMZZMurtJ7VwBTl0Rm64lZhrtuCiY9L%252BSlUYJCrD9xW0HP9GQ%3D%3D&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
* https://www.youtube.com/watch?v=F1685u-QQ0k MCE adapter etc&lt;br /&gt;
* http://15khz.wikidot.com&lt;br /&gt;
* https://github.com/planeturban/15khzvgatester&lt;br /&gt;
* https://github.com/mecparts/RetroWiFiModem&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=345</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=345"/>
		<updated>2022-07-27T13:15:02Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Kicad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
* https://rightbattery.com&lt;br /&gt;
&lt;br /&gt;
= Chip Hacking =&lt;br /&gt;
* https://github.com/debug-silicon/C8051F34x_Glitch&lt;br /&gt;
* https://www.mouser.se/ProductDetail/NewAE/NAE-CWLITE-ARM?qs=sGAEpiMZZMurtJ7VwBTl0Rm64lZhrtuCiY9L%252BSlUYJCrD9xW0HP9GQ%3D%3D&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
* https://www.youtube.com/watch?v=F1685u-QQ0k MCE adapter etc&lt;br /&gt;
* http://15khz.wikidot.com&lt;br /&gt;
* https://github.com/mecparts/RetroWiFiModem&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=344</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=344"/>
		<updated>2022-07-22T14:14:37Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Kicad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Chip Hacking =&lt;br /&gt;
* https://github.com/debug-silicon/C8051F34x_Glitch&lt;br /&gt;
* https://www.mouser.se/ProductDetail/NewAE/NAE-CWLITE-ARM?qs=sGAEpiMZZMurtJ7VwBTl0Rm64lZhrtuCiY9L%252BSlUYJCrD9xW0HP9GQ%3D%3D&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
* https://www.youtube.com/watch?v=F1685u-QQ0k MCE adapter etc&lt;br /&gt;
* http://15khz.wikidot.com&lt;br /&gt;
* https://github.com/mecparts/RetroWiFiModem&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=343</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=343"/>
		<updated>2022-07-15T22:26:02Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Retro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
* https://www.youtube.com/watch?v=F1685u-QQ0k MCE adapter etc&lt;br /&gt;
* http://15khz.wikidot.com&lt;br /&gt;
* https://github.com/mecparts/RetroWiFiModem&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=342</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=342"/>
		<updated>2022-07-14T23:54:58Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Retro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
* https://www.youtube.com/watch?v=F1685u-QQ0k MCE adapter etc&lt;br /&gt;
* http://15khz.wikidot.com&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=341</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=341"/>
		<updated>2022-07-14T23:48:51Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Retro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
* https://www.youtube.com/watch?v=F1685u-QQ0k MCE adapter etc&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
	<entry>
		<id>https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=340</id>
		<title>Hårdvara</title>
		<link rel="alternate" type="text/html" href="https://wiki.wiegert.link/index.php?title=H%C3%A5rdvara&amp;diff=340"/>
		<updated>2022-07-14T12:19:29Z</updated>

		<summary type="html">&lt;p&gt;Damme: /* Retro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kicad =&lt;br /&gt;
* https://www.youtube.com/watch?v=aVUqaB0IMh4&lt;br /&gt;
&lt;br /&gt;
= Retro = &lt;br /&gt;
* https://sourceforge.net/projects/hxcfloppyemu/&lt;br /&gt;
* https://www.ultimateretro.net/en/ motherboard list&lt;br /&gt;
* http://rom.by bios patcher&lt;br /&gt;
* http://www.vgmuseum.com&lt;br /&gt;
&lt;br /&gt;
= Diverse projekt =&lt;br /&gt;
&lt;br /&gt;
== CosmicPi ==&lt;br /&gt;
http://cosmicpi.org&lt;br /&gt;
&lt;br /&gt;
https://github.com/CosmicPi/CosmicPiV1.7PCB&lt;br /&gt;
&lt;br /&gt;
http://www.amcrys.com/allpdf.html&lt;br /&gt;
&lt;br /&gt;
https://www.ketek.net/store/products/pm3325-wb/&lt;br /&gt;
&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0125B/516-AFBR-S4K33C0125B-ND/15768924?itemSeq=383463954 Kontrollera!&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0115L/516-AFBR-S4K33C0115L-ND/15768970?itemSeq=383464099 15µm 38400microcells&lt;br /&gt;
* https://www.digikey.se/product-detail/sv/AFBR-S4K33C0135L/516-AFBR-S4K33C0135L-ND/15768855?itemSeq=383464105 35µm 7396microcells&lt;br /&gt;
&lt;br /&gt;
== E-ink display + pi zero ==&lt;br /&gt;
* Vädericoner som font: https://www.alessioatzeni.com/meteocons/&lt;br /&gt;
* https://www.waveshare.com/7.8inch-e-Paper-HAT.htm&lt;br /&gt;
* http://www.waveshare.com/wiki/7.8inch_e-Paper_HAT&lt;br /&gt;
* https://archlinuxarm.org/platforms/armv6/raspberry-pi&lt;br /&gt;
* https://github.com/GregDMeyer/IT8951&lt;br /&gt;
* https://github.com/Mari0nV/IT8951/commits/master async&lt;br /&gt;
&lt;br /&gt;
Annat?&lt;br /&gt;
* https://gist.github.com/gavinhungry/1ab5b5450e0409765ad8906fcdd69997&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_i2c_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;i2c-[0-9]*&amp;quot;, GROUP=&amp;quot;i2c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; /etc/udev/rules.d/10-local_spi_group.rules &amp;lt;==&lt;br /&gt;
KERNEL==&amp;quot;spidev0.0&amp;quot;, GROUP=&amp;quot;spi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################################################&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;spidev0.0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;i2c-[0-1]*&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;dialout&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyACM0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;ttyAMA0&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, KERNEL==&amp;quot;gpio&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voltcraft / Mansom xxxxx ==&lt;br /&gt;
&lt;br /&gt;
* https://asset.conrad.com/media10/add/160267/c1/-/en/000511632CD01/circuit-diagramm-511632-voltcraft-lsp-1403-bench-psu-adjustable-voltage-0-36-v-dc-0-5-a-80-w-masterslave-communication-protocol-no-of.pdf&lt;br /&gt;
&lt;br /&gt;
== Price tag displays ==&lt;br /&gt;
* https://github.com/atc1441/E-Paper_Pricetags/tree/main/Custom_PriceTag_AccesPoint&lt;br /&gt;
&lt;br /&gt;
== HAN meter to MQTT via Esp ==&lt;br /&gt;
* https://github.com/alekslt/HANToMQTT&lt;br /&gt;
* https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf&lt;br /&gt;
&lt;br /&gt;
== Nord pool day ahead ==&lt;br /&gt;
https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table&lt;br /&gt;
&lt;br /&gt;
== SR VMA test ==&lt;br /&gt;
https://vmaapi.sr.se/testapi/v2/alerts&lt;br /&gt;
&lt;br /&gt;
== Thunderbolt optical ==&lt;br /&gt;
* https://www.videodata.de/shop/products/de/Kabel-Adapter-Verbrauchsmaterial/Computer/Thunderbolt-3-Kabel/Corning-Thunderbolt-3-Kabel-50-m.html?XTCsid=4c3fgahuga73bsu2hlf0o0asg1&lt;br /&gt;
* https://eurocapa.com/cable-optique-thunderbolt3-25m.html&lt;br /&gt;
* https://www.avshop.ca/wire-amp-cable-data-cables-thunderbolt/corning-thunderbolt-3-usboptical-cable-50-meter&lt;br /&gt;
&lt;br /&gt;
= 3D skrivare mm =&lt;br /&gt;
* https://www.prusaprinters.org/prints/66965-delta-p-fan-duct-v2-r2-with-square-nut&lt;br /&gt;
* https://guides.bear-lab.com/Guide/Extrusion+multiplier+and+filament+diameter/8&lt;br /&gt;
* https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-others-archive/pause-print-in-gcode/paged/2/&lt;br /&gt;
* https://www.thingiverse.com/thing:3288815&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Spis mm =&lt;br /&gt;
* https://ventilation.se/anslutningsror-insatskassett-162.htm&lt;br /&gt;
* https://www.karles.se/produkt/vattenmantlad-insatskamin-maja-12-hoger/&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy-bs&lt;br /&gt;
* https://e-kominki24h.pl/p/767/4270/wklad-kominkowy-wodny-oliwia-17-prawy-pw-oliwia-kratki-wklady-z-plaszczem-wodnym-wklady-kominkowe.html&lt;br /&gt;
* https://kominki.eu/maja-pw-12-prawy&lt;br /&gt;
* BImSchV 2&lt;br /&gt;
&lt;br /&gt;
== WV ==&lt;br /&gt;
* https://www.classicvw.se/styrdampare-t1-1302-03/product_details.php/products_id/296&lt;br /&gt;
* https://www.classicvw.se/styrledssats-t1-1302-03-07-74-4-/product_details.php/products_id/4400&lt;br /&gt;
* https://www.classicvw.se/gummitatning-t1-68-framskarm-lykta-par-/product_details.php/products_id/3502&lt;br /&gt;
* https://www.classicvw.se/reflektor-stralkastare-t1-68-t2-68-73-t3-04-61-73-hella-1-/product_details.php/products_id/751&lt;br /&gt;
* https://www.classicvw.se/bussningar-framvagn-t1-1303-08-73-/product_details.php/products_id/5114&lt;/div&gt;</summary>
		<author><name>Damme</name></author>
	</entry>
</feed>