6. 12. 2022

Rozbor - USB reproduktory Logitech S-150

Tieto reproduktory sú stále predávané v hodnote necelých 20eur, ponúkajú riešenie k notebookom bez jack výstupu, podľa recenzií je okrem plochého zvuku problémom aj veľká hlasitosť a jej hrubé ovládanie.

Logitech S-150

Oprava - roztrhaná vianočná 720ks LED reťaz

V decembri klasika - oprava vianočnej reťaze, teraz so 720ks LED. Pretrhnutá na 2 miestach, potrebovala pár mechanicky zničených LED odstrániť a správne pospájať.

4. 11. 2022

Oprava - digitálna rýchlovarná kanvica SilverCrest

Kanvica z predajne LIDL prestala po cca. 4,5 roku takmer denného používania ohrievať. Jedná sa o  SWKD 2400 B2 značky SilverCrest (IAN 292034). Digitálna kanvica umožňuje na rúčke nastaviť želanú teplotu vody a po voľbe začne s ohrevom, ktorý ukončí na danej teplote.

SilverCrest SWKD 2400 B2

Porucha sa prejavila tak, že zvoliť teplota išla, avšak ohrev nezačal, displej sa vypol.

Shell - hranie sa s AWK

AWK najčastejšie vidieť v jednoriadkových skriptoch ako filter stĺpcov. V skutočnosti ide o skriptovací jazyk, ktorý sa hodí na zložitejšie spracovanie textu v stĺpcoch. Ponúka definíciu vlastných premenných, polí, funkcií a regulárne výrazy.

Sériovo spracúva podmienky štýlom:

podmienka1 { prikaz1 }
podmienka2 { prikaz2 }

Bloky so slovami BEGIN a END miesto podmienky sú vykonané len raz, pred a po spracovaní vstupu.

Špeciálne premenné:
NR - počet záznamov (riadkov), NF - počet polí (stĺpcov) vrámci záznamu
RS - oddeľovač záznamov, FS - oddeľovač polí
$0 - celý riadok (v print netreba uvádzať ak je to jediný argument),  $1 - prvý stĺpec, $2 - druhý stĺpec..


Príklad analyzuje dvojbodkami oddelené záznamy v súbore /etc/passwd z hľadiska bezpečnosti:

awk -F: 'BEGIN { print "=== analyza /etc/passwd" }
$3 == "0" { print "rootom je: "$1 };
$3 == "0" { print "root grupa je: "$1 };
list[$3]++{print "duplicitne id pouzite pre "$1}
/sh$/ { print "shell ma: "$1 }
END { print NR" riadkov" } ' /etc/passwd


Suma v druhom stĺpci zoskupená podľa prvého (asociatívne pole), výpis všetkých hodnôt na koniec:

awk -F\  ' list[$1]+=$2 {} END { for ( i in list ) print i" "list[i] } ' auta.txt


Výpis 3 riadkov po nájdenom reťazci

awk ' /^<Directory/ { for ( i=1; i<=3; i++) { print;getline }  } ' /etc/apache2/apache2.conf


Výpis riadkov medzi dvoma nájdenými reťazcami:

awk ' /^<Directory/,/\/Directory/ { print } ' /etc/apache2/apache2.conf


3. 11. 2022

Oprava - meteostanica TFA


Staršia meteostanica TFA-dostmann 35.1047 sa nevedela zosynchronizovať s vonkajším senzorom.
Problém bol nakoniec v zaoxidovaných kontaktoch ukrytých pod plieškami spínačov - stačilo odkryť a zoškrabať.

4. 8. 2022

Shell - find príkazy na zvýšenie bezpečnosti

V postupoch pre zvýšenie bezpečnosti Linuxu (hardening) je väčšinou aj kontrola práv súborov a adresárov.

# 1.VYHLADANIE SUID A SGID, ULOZENIE MD5SUM - INICIALNY BEH
(find / '(' -path /proc -o -path /sys -o -path /snap ')' -prune -o \
 -perm /6000 -type f -ls 2>/dev/null ; \
 find / '(' -path /proc -o -path /sys -o -path /snap ')' -prune -o \
 -perm /6000 -type f -print 2>/dev/null | xargs -n 50 md5sum) \
 | sort | tee suid_ref

# 2.POROVNAVACI BEH
(find / '(' -path /proc -o -path /sys -o -path /snap ')' -prune -o \
 -perm /6000 -type f -ls 2>/dev/null ; \
 find / '(' -path /proc -o -path /sys -o -path /snap ')' -prune -o \
 -perm /6000 -type f -print 2>/dev/null | xargs -n 50 md5sum) \
 | sort | diff suid_ref - | Mail -s 'SU zmenene' admin@yoursite.com

# 3.KONTROLA SO ZLYM POUZIVATELOM ALEBO GRUPOU (Z INEHO SYSTEMU)
find / -path /proc -prune -o -nouser -o -nogroup -ls 2>/dev/null

# 4.ZAPIS PRE VSETKYCH (NAPR ADRESAR TMP)
find / '(' -path /proc -o -path /sys -o -path /snap ')' -prune -o \
 -perm -2 ! -type l ! -type c -ls 2>/dev/null

# 5.KONTROLA TEMPU NA EXECUTABLE ALEBO SUID, SGID, LINKY
find /tmp -perm /6111 ! -type d -ls 2>/dev/null
find /tmp '(' -name '.??*' -o -name '.[^.]' ')' -type f -ls 2>/dev/null

# 6.KONTROLA NA PODVRHNUTE ZAKLADNE PRIKAZY ls, cd, grep, su, sudo V INYCH CESTACH
find / '(' -path /snap -o -path /bin -o -path /usr ')' -prune -o \
 '(' -name "ls" -o -name "cd" -o -name "grep" -o -name "su" -o -name "sudo" ')' \
 -perm -1 -type f -ls 2>/dev/null

Prvé dve vyhľadávania hľadajú súbory s právami suid/sgid, teda spustením preberajúce práva vlastníka/skupiny súboru. Vypíše ako práva a dátumy, tak aj kontrolnú sumu a uloží do "suid_ref" súboru, voči nemu druhý porovnáva zmeny. Analyzovať tak stačí zmeny.

Ignorujú cesty začínajúce /proc, /sys a /snap, sú systémom generované a posledný je read-only.

3. hľadá súbory s neznámym vlastníkom, stáva sa pri rušení používateľov alebo prenose z iného systému

4. hľadá súbory a adresáre so zápisom pre všetkých, očakávané napr. pre /tmp adresár

5. hľadá suid, sgid a executable práva v /tmp, táto kontrola síce nie je dostatočná (spustiť možno aj súbor bez práv na spustenie), avšak ľahko sa kontroluje - nemá nič vrátiť.

6. podvrhnuté náhrady príkazov pre PATH=. , táto cesta by nemusela byť nastavená, ani pre bežného používateľa, nieto root


Find možno použiť aj na konkrétny súbor na kontrolu práv:

# KONTROLA KONKRETNYCH SUBOROV NA NADMERNE PRAVA

for x in /etc/passwd:f:6133 /etc/shadow:f:6137 /etc/fstab:f:6133; do
 s=`echo $x | cut -d':' -f1`
 t=`echo $x | cut -d':' -f2`
 p=`echo $x | cut -d':' -f3`
 echo -ne "kontrola $s \t ... "
 if [ "`find $s -type $t -perm /$p`" != "" ]; then echo "NOK";
  else echo "OK"; fi
done

28. 7. 2022

Oracle - plné undo

UNDO tablespace:

  • pôvodný image zmenených dátových blokov
  • read consistency
  • rollback


Zaplnený UNDO znamená, že beží jedna veľká transakcia ktorá musí prejsť naraz. Ak neprejde, tak neprejde z nej nič. Dobré rozdeliť na menšie.

Parameter undo_retention je štandardne nastavený na 900 sekúnd (15min). Keď už nageneruje toľko, že prepíše všetky staršie záznamy, začne prepisovať aj mladšie.

Za posledných 24 hodín sa v 10min rezoch dá pozrieť využitie v tabuľke v$undostat:

select
   to_char(u.begin_time,'MM/DD HH24:MI') begin_time,
   u.undoblks undo_blocks,
   u.maxquerylen query_length_secs,
   u.unxpstealcnt, u.expstealcnt,
   u.nospaceerrcnt,
   u.ssolderrcnt ora1555_count,
   '/* '|| s.sql_id || ' */ '|| s.sql_text sql_text
from
   v$undostat u, v$sqltext s
where
   u.maxqueryid = s.sql_id (+)
   and u.maxquerylen > 0 and s.piece = 0;


25. 7. 2022

Oracle - diakritika a sqlplus

Občas je potrebné spustiť cez klienta napríklad select alebo insert príkazy s diakritikou. Oracle sice robí konverziu diakritiky do databázy, ale v takomto prípade mu treba nastaviť akú diakritiku použijem lokálne.

windows:

set NLS_LANG=C:\Users\brano2> set NLS_LANG=AMERICAN_AMERICA.EE8MSWIN1250

linux:

export NLS_LANG=AMERICAN_AMERICA.EE8ISO8859P2

Ako nastavenie parametra overiť priamo v sqlplus klientovi? Jednoducho zavolať premennú a vyčítať z chybovej hlášky.

SQL> @%NLS_LANG%
SP2-0310: unable to open file "AMERICAN_AMERICA.EE8MSWIN1250"

Prvá polovica parametra pred bodkou určuje triedenie, formát dátumu, desatinný znak, atď (LANGUAGE_TERRITORY). Formát dátumu možno nastaviť premennou NLS_DATE_FORMAT.

24. 7. 2022

Oprava - utrhnutý jack na slúchadlách a tavička

Počas herného ošiaľu sa stane, že človek zabudne na slúchadlá a rozbehne sa od počítača, trochu sa občerstviť. Občas to tenké káble v mieste 3,5mm jack konektora nezvládnu a utrhnú sa.

Prvá oprava ktorá človeka napadne je kúpiť nový, rozoberateľný jack a prispájkovať. No tento bude problém upevniť dobre na tenučký kábel a utrhne sa skôr ako zalisovaný originál.

Čas pre tavnú lepiacu pištol.

Oprava - splachovač

Únava materiálu nastala na najtenšom mieste splachovacieho mechanizmu. Teda najtenšom vystavenom priamym mechanickým nárazom tlakom. Uvidíme, či tavné lepidlo vydrží svoj záchodový test.

vystužená zlomenina systému splachovača


16. 5. 2022

NiMh Akumulátory - parametre

Parametre uvedené na nabíjacích NiMh akumulátoroch (1,2V).

AAA

ZnačkaKapacitaModelNabíjanieVýroba
Panasonic550 mAhHHR-55AAAB--
Varta750 mAhACCU Ultra75mA/15h-
GP750 mAh75AAAHC75mA/16h-
Tronic900 mAhEnergy180mA/7h2008 08
Tronic950 mAhEnergy eco190mA/7h2016 08
Tronic1000 mAhEnergy200mA/7h-
Varta800 mAhRecharge Accu Power80mA/16h2022 12
Varta1000 mAhRecharge Accu Power100mA/16h2022 12


AA

ZnačkaKapacitaModelNabíjanieVýroba
Hama1300 mAhAA KR 15/51130mA/14h, 390mA/5h-
MPower1300 mAhD2 tech.130mA/14, 325mA/5h-
Tronic2000 mAhEnergy270mA/10h2005 04
Tronic2500 mAhEnergy500mA/7h2012 03
Tronic2300 mAhEnergy eco460mA/7h2016 08
Tronic2500 mAhEnergy500mA/7h-
Sanyo1900 mAhEneloop HR-3UTGA200mA/16h, 2000mA/1,1h-
Ikea1900 mAhLadda 005.098.14190mA/16h (1000x)2021 02
Ikea2450 mAhLadda 505.046.92245mA/16h (500x)2021 02
Varta1600 mAhRecharge Accu Phone 2160mA/16h2022 12
Varta2600 mAhRecharge Accu Power260mA/16h2022 12


Podľa čísel je účinnosť nabíjania zhruba 71-73%, bežné nabíjanie okolo 15hod na 1/10C, zrýchlené nabíjanie 5-7h pri prúde 2/10C max 3/10C.

Pre novšie modely by tak vychádzala nabíjačka s prúdmi 100/200mA (AAA), 200/500mA (AA).

Rýchle nabíjanie (0,2-0,3C) sa odporúča až pri napätí nad 0,8V, vrchný limit nabíjania je 1,8V ako ochrana pri poruche. Bežne napätie stúpa od 1,4V postupne do 1,5V väčšinu času.

Ku koncu nabíjania napätie prudšie vzrastie a pri rýchlom nabíjaní poklesne o 5-10mV v tomto vrchole, kedy sa rýchlonabíjanie vypne.

Udržiavacie nabíjanie 0,033-0,05C.

Vybíjanie väčšiny kapacity prebieha pri napätí 1,25-1,15V (málinko nižšie pri vyššej záťaži).

11. 4. 2022

Spárovanie UPC ovládača s TV

Postup spárovania UPC ovládača:

  1. tlačidlo TV
  2. držať OK + červené, pokým 2x blikne TV
  3. zadať kód TV
  4. 2x blikne TV

Kódy pre najčastejšie značky:

  • LG: 2212, 4427, 4047, 1335, 1453, 4116, 4149, 4394, 1872, 0744, 3971, 0067
  • Samsung: 2081, 0842, 4178, 4005, 0648, 2124, 1488, 4126, 2167, 4180, 1660
  • Hyundai: 3749, 1562, 0906, 0895, 2184, 2706, 1697, 3464, 3558, 4086, 1615

6. 4. 2022

Zníženie nabíjacieho prúdu Tronic TLG1000 C5

Na štítku nabíjačky z Lidl sa nedá nevšimnúť si množstvo nabíjacích prúdov, hlavne:
6x 1,4V 1000mA/500mA (AA/AAA)
6x 1,4V 500mA/250mA (AA/AAA spolu s USB)

V minulosti som znížil nabíjanie AA batérií z 1A na 500mA prepojením na AAA výstupy, avšak stále najmä pre malé AAA mi tých 500mA prišlo veľa.

Skúmal som preto, ako nabíjačka zisťuje pripojenie USB a prepína na polovičný prúd.