Linux sata hot swap

ls /sys/class/scsi_host/

for i in {0..8}; do echo "0 0 0" > /sys/class/scsi_host$i/scan ; done

Emulacja kółka środkowym przyciskiem myszy (Lenovo, Trackpoint)

xinput list

znaleźć właściwe urządzenie

xinput --list-props 'DualPoint Stick'

odnaleźć właściwe propsy

xinput --set-prop 'DualPoint Stick' 'Evdev Wheel Emulation' 1
xinput --set-prop 'DualPoint Stick' 'Evdev Wheel Emulation Button' 2

jeśli działa dopisać do programów startowych mate jako:

xinput --set-prop 'DualPoint Stick' 'Evdev Wheel Emulation' 1 && xinput --set-prop 'DualPoint Stick' 'Evdev Wheel Emulation Button' 2

Kompilacja Slic3r

Zależności wg

https://github.com/alexrj/Slic3r/wiki/Running-Slic3r-from-git-on-GNU-Linux#installing-prerequsites

Dodatkowo dla GUI: libopengl-perl

potem:

mkdir Slic3r-prusa
cd Slic3r-prusa
git clone https://github.com/prusa3d/Slic3r.git
cd Slic3r
perl Build.PL
export SLIC3R_STATIC=1
perl Build.PL --gui

uruchamianie przez:

perl slic3r.pl --gui

w celu aktualizacji kodu:

git pull
cd Slic3r
perl Build.PL
export SLIC3R_STATIC=1
perl Build.PL --gui

 

Oki MB441/MB451 resetowanie licznika bębna

Dziś parę zdań dla potomności.oki-mb441-alarge

Otóż kilka dni temu pojawił się problem – prawie nowa (~1 roczna) drukarka Oki MB441 po przerobieniu kilku pojemników z tonerem doprasza się, a potem, nieusłuchana, żąda kategorycznie nowego bębna. Research w sieci daje informacje i rozwiązanie – zespół bębna (drum unit) ma zabezpieczenie w postaci bezpiecznika, który ponoć ma parametry – szybki, 125 mA. Mówię tu o zespole bębna nowym, bo ten fabryczny takiego bezpiecznika nie posiada.

Nowy zespół bębna to koszt rzędu 500 zł. Ten, który właśnie płacze że się kończy jest całkiem dobry, więc może kombinować z bezpiecznikiem?

Takie bezpieczniki są dostępne w cenie (z głowy) od 8 do 30 pln, ale po co wydawać tak wielkie pieniądze skoro można spróbować zrobić to za darmo?

Eksperymenty z cienkim drucikiem nie dały rezultatu, najcieńszy jaki miałem nie przepalał się przy oczekiwanym przepływie prądu. Najmniejszy bezpiecznik szklany rurkowy (650 mA) też nie zdał egzaminu.

Już miałem się poddać, ostatnim moim pomysłem było zrobienie chałtury z użyciem dwóch przewodów i multimetru w trybie amperomierza.

Uwaga – nie biorę odpowiedzialności kiedy uszkodzisz swoją drukarkę lub doznasz innej szkody wykorzystując tę instrukcję.

Drukarka WYŁĄCZONA! Po wyjęciu zespołu bębna, wewnątrz drukarki po lewej stronie jest szereg złotych styków. Dwa pierwsze zaglądając od przodu otwartej drukarki to styki bezpiecznika bębna. Przewody zostały podłączone do styków w taki sposób żeby można było delikatnie umieścić zespół bębna w drukarce i zamknąć klapę. Przewody wystają na zewnątrz. Multimetr ustawiamy na zakres pomiaru prądu np. 10A i podłączamy przewody w odpowiedni sposób. Jeden przewód pomiarowy należy podłączyć na stałe do jednego z przewodów podłączonych wewnątrz drukarki. Drugi przewód pomiarowy połączyć w taki sposób żeby można było go momentalnie odłączyć.

Procedura wygląda tak:

  1. oba przewody pomiarowe podłączone, każdy do jednego z przewodów wychodzących z drukarki (podłączonych wcześniej do styków wewnątrz)
  2. włączamy drukarkę cały czas obserwując wskazania amperomierza
  3. w momencie wskazania przez amperomierz przepływu nacyhmiast odłączamy jeden z przewodów pomiarowych przerywając obwód.
  4. czekamy aż drukarka uruchomi się do końca i sprawdzamy status materiałów eksploatacyjnych – poziom zużycia bębna powinien wskoczyć na 99%.
  5. Voila!

Jedynym skutkiem ubocznym jaki zaobserwowałem na jednej (sic!) z dwóch jednakowych drukarek resetowanych tym sposobem to natychmiastowe wskazanie na pusty pojemnik z tonerem. Nie sprawdziłem jaki poziom toneru wskazywała drukarka przed resetem, mógł być na wykończeniu. Być może wpływ na to też ma fakt iż drukarka której toner „skończył się” zaraz po resecie bębna była już z jego powodu zablokowana (drukarka najpierw ostrzega że bęben niedługo się „skończy” później całkiem blokuje drukowanie). Druga drukarka której po resecie toner się nie skończył miała zużycie bębna na poziomie 40%. Tak czy owak dołożenie nowego (dosypanego) pojemnika z tonerem załatwiło sprawę i drukarki działają.

PS. Doświadczenie mówi iż nie należy się obawiać uszkodzenia drukarki przez zwarcie styków bezpiecznika bębna nawet na stałe, grubym przewodem. Drukarka najwyżej pokazuje błąd który znika po jej wyłączeniu.

Debian i niedziałający czytnik SD/CF…

Krótka notatka:

bez owijania w bawełnę – symptomy:

  1. czytnik USB widoczny w systemie
  2. karta po włożeniu nie jest wykrywana, wykrywana jest za to wtedy, kiedy siedzi w czytniku i wyjmiemy i włożymy wtyczkę usb.

rozwiązanie – zaczerpnięte z forum forums.debian.net:

echo 2000 > /sys/module/block/parameters/events_dfl_poll_msecs

Mozna dopisać do /etc/default/grub:

Olivierb2’s solution (enabling kernel polling for device media) fixed it for me. I did that by editing GRUB_CMDLINE_LINUX=”” inside /etc/default/grub to read GRUB_CMDLINE_LINUX=”block.events_dfl_poll_msecs=2000″ and then running update-grub (all as root of course).

Squint ze squidem: monitorowanie ruchu użytkowników w biurze

System który mógłby analizować aktywność „zawodową” i „pozazawodową” użytkowników może składać się z serwera proxy. Jest nim w tym przypadku Squid włączony do tej samej podsieci co badane komputery. Należy ustawić wszystkie maszyny tak, żeby wszelki ruch www kierował do naszego proxy. Do tej pory jest wszystko ok, ale potrzeba nam czegoś co z pliku dziennika („log”) Squida – /var/log/squid/access.log wygeneruje jakieś przydatne statystyki.

SARG

Wpierw wybór padł na SARG – Squid Analysis Report Generator  – http://sarg.sourceforge.net/

Użyłem go we współpracy z Webmin’em (http://www.webmin.com/) który nie do końca bezproblemowo umie ogarnąć SARG’a za pomocą interfejsu klikalnego. Do tej pory używałem Squida, SARG’a i Webmina z paczek Debiana squeeze.

SARG nawet działa, aczkolwiek dane które wyciąga są dla mnie niewystarczające (pominąwszy milczeniem brzydki sposób prezentacji).

SQUID Analyzer

SQUID Analyzer (http://squidanalyzer.darold.net/) jest ciekawszym narzędziem, napewno też ładniejszym. Interfejs prezentuje sie profesjonalnie, ale nie ma mowy np. o sortowaniu według kolumn tabeli innych niż wyszczególniona w konfigu. Poza tym piękne wykresy godzinowe i miesięczne transferu nie przydadzą się, ponieważ zawierają jedynie dane zbiorcze, sumę wszystkich użytkowników naszego proxy. Zawiera przynajmniej wyszczególnienie użytkowników i listę odwiedzanych stron. To się może nam przydać, ale do doskonałości czegoś brakuje.

SQUINT

Dopiero SQUINT (http://www.ledge.co.za/software/squint/index.php) okazał się podawać wymagane w tym wypadku informacje. Prawdopodobnie dlatego, że autor napisał go właśnie do tego celu ;). Poprzednie dwa analizery logów kładą nacisk na monitoring proxy jako serwera pod względem statystyk użycia SQUID’a.

Niestety SQUINT’a brak w repozytorium i posiada dość skąpą instrukcję (plik INSTALLATION). Po lekturze nie bardzo wiedziałem jak to ugryźć, informacje w sieci też nie są zbyt obszerne, jednak dało sie program zmusić do współpracy.

Uruchamianie: Proponuję skorzystać z programu bez instalacji, tzn. rpozpakować paczkę gdzieś np. w /root/, następnie mkdir /var/www/squint i uruchamiać program w nast. sposób:

cat /var/log/squid/access.log | /usr/bin/perl ./squint.pl /var/www/squint/

lub

cat /var/log/squid/access.log | ./squint.pl /var/www/squint/

Do działania wymaga perl’a w wersji większej lub równej 5.6.

W oprzypadku wystąpienia błędu:

Parentheses missing around "my" list at ./squint.pl line 404.

należy w pliku squint.pl dokonac zmian w kodzie (dopisac nawiasy) w linii 404, tak, żeby było:

my ($site, $user, $currentsort);

oraz w linii 559, tak, żeby brzmiała:

mkdir ("$date",0777);

Mimo, iz moja wersja Perl’a to 5.10, nie wiedzieć czemu błędy wystąpiły, ale dzięki powyższym wskazówkom wyczytanym w pliku FAQ udało mi się uruchomić SQUINT’a. Okazało się, że w  statystykach dotyczących poszczególnych użytkowników jest lista url’i oraz statystyki ilości danych z podziałem godzinowym, to jest ciekawe.

Jedyne co pozostało to dopisać wywołanie SQUINT’a do crona tak, żeby uruchamiał się automatycznie. Jest to opisane w dokumentacji (plik INSTALL), dlatego nie warto powtarzać.

GRUB naprawa Debian

Zakladam ze dysk to /dev/sda a partycja zawierajaca / to /dev/sda1  zamontowana w /target.

sudo mount -t proc none /target/proc
sudo mount -o bind /dev /target/dev
chroot /target /bin/bash
grub-install /dev/sda

PDF: Przycinanie

Przykład:

Mamy pdfa z projektem okładki jakiejś publikacji. Publikacja jest w formacie ~A4, więc PDF z okładką ma rozmiar ~A3 w poziomie. Przy wydruku Acrobat Readerem na drukarce A4 pojawia się problem, strony projektu są ok, bo mieszczą się na A4, ale okładka już nie.

Postępowanie:

Proponuję PDFEdit (linux). Pod Debianem/Ubuntu:

apt-get install pdfedit

Należy otworzyć PDF który chcemy zmienić.

Menu Page->Edit Page Metrics

Szerokość podaną w polu Right bottom corner,  X position (cm) dzielimy na pół i podmieniamy. Dzięki temu powinniśmy otrzymać przyciętą stronę z widoczną jedynie lewą połową. Jeśli coś się nie zgadza można wrócić do okna Edit Page Metrics i poprawić, strona nie jest przycinana permanentnie. Zapisujemy i lewa część już jest zrobiona. W tym miejscu uwaga: nie wiedzieć czemu PDFEdit nie ma funkcji Save As, dlatego zapisuje oryginalny plik, więc warto mieć kopię. Jednak jak już nadmieniłem, treść w przyciętym pliku jest jedynie zamaskowana i nawet po zapisaniu można przywrócić wymiary i treści oryginalne.

Analogicznie postępujemy z prawą stroną, z tym, że tu w oknie Edit Page Metrics pozycję Right bottom corner,  X position (cm) zostawiamy bez zmian (czyli na wartości strony oryginalnej, nieprzyciętej. W polu Left upper corner, y position (cm) wpisujemy wartość Right bottom corner,  X position (cm) znów podzieloną przez 2. Jeśli trzeba wprowadzamy korektę i zapis.

Podsumowanie:

Otrzymujemy dwa pliki, z rozdzielonymi stronami.

Gdyby zdarzyło się, że PDFEdit wywali komunikat w oknie logów

Warning: This document is linearized PDF!

przed przycinaniem trzeba go przekształcić za pomocą Tools->Delinearize.

Tablet Wacom na jednym monitorze pod linuksem

sprawdzamy jak nazywaja sie monitory ( u mnie DVI-0 i DVI-1):

# xrandr
 Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 8192 x 8192
 DVI-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
(...)
S-video disconnected (normal left inverted right x axis y axis)
DVI-1 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 338mm x 270mm
(...)

dzieki temu wiemy o ktory monitor nam chodzi. nastepnie:

# xsetwacom --list devices
Wacom Bamboo1 eraser id: 11 type: ERASER
Wacom Bamboo1 cursor id: 12 type: CURSOR
Wacom Bamboo1 stylus id: 13 type: STYLUS

dzieki temu wiemy jakie mamy nazwy urtzadzen w tablecie. nastepnie:

# xsetwacom --set "Wacom Bamboo1 cursor" "MapToOutput" "DVI-0"
# xsetwacom --set "Wacom Bamboo1 stylus" "MapToOutput" "DVI-0"

w tej chwili (4 rano) nie chce mi sie dociekac czy dziala „cursor” czy „stylus”, wazne ze dziala.