Човек и добре да живее, се мести…

петък, ноември 11th, 2011

След близо шест години работа във фирмата, в която така да се каже започнах IT кариерата си, реших да напусна. Понякога човек има нужда от промяна, от рестарт, макар и да не е имало изрична причина да го правя. Напротив, разделяме се като приятели. Просто, се отвори чудесна възможност, да работя за една от двете международни фирми, чиято визия за работата ми харесва. Коя е тя?

Отдалечено управление на климатик чрез PicoIP / RelayBox

четвъртък, юли 7th, 2011

Дойдоха летните жеги (което естествено има своите плюсове) и това доведе и до засиленото използване на климатици, което от своя страна води до чести спирания на тока поради претоварвания. И понеже повечето климатици не се включват автоматично след като токът се завърне, и понеже точно с един такъв се налага да хладя едни машини, то стана време да осъществя една идея, която ми се въртеше в главата отдавна, а именно отдалечено управление на климатик (естествено би работило и с други електроуреди).  В противен случай се налагаше някой да измине известна доза километри в натоварен софийски градски трафик, за да го включи ръчно.

Като отдавна знам, че доста LAN-аджии използват PicoIP за автоматичен рестарт на оборудване по своите трасета, та предположих, че ще ми свърши работа и на мен. Налага се обаче да се комбинира и с друга джаджа правена от Нео Монтана, а именно RelayBox 2x. С оглед на това, къде работя, можеше да прибегна и до друга схема – рестарт чрез изпращане на SMS, но щеше да излезе малко по-скъпичко :)

И така след като набавихме необходимите материали, а именно:

  • 1 брой PicoIP (със съответното потребителско ръководство)
  • 1 брой двупортов RelayBox
  • 1 брой обикновен 12V адаптер
  • 1 брой мрежов кабел с нужната дължина
  • 1 брой публичен IP адрес
  • 1 брой дистанционно за климатик

пристъпихме към действие:

Първо направихме алфа тест на PicoIP-то и RelayBox-а. Свързването става доста лесно, единственото което е нужно е да се разгледат Приложенията на PicoIP ръководството от сайта на Нео Монтана. От него разбираме, че трябва да свържем единия канал на RelayBox-а към системния порт JP6 на PicoIP, и по-точно към 6-ти pin, който изпълнява специална функция TargetRST и към 10-ти, който естествено е GND. Наложи се естествено да захраним RelayBox-а от 12VDC конектора на PicoIP платката. Бяхме забравили да вземем кабел, та пригодихме едни кабелчета от молекс удължител за PSU. След като свързахме всичко и изтествахме Restart функцията и всичко изглеждаше напълно функциониращо оставаше да измислим как да включим климатика в цялата схема. Вариантите бяха два, директно към управляващата му платка, или чрез дистанционното. И понеже не намерихме ел. схема за първото, то сметнахме, че ще е по-лесно да направим второто.

Понеже никога не съм бил особено добър с поялника, а така или иначе не притежавам такъв, то прибегнах до помощ от приятел (колега). Ето и малко снимки от модването на дистанционното. За връзката дистанционно – RelayBox използвахме една стара изтерзана USB мишка. Ето и малко снимки от този процес (приготовление плюс изпълнение):

Остана да свържем всичко и да видим дали ще сработи. Направихме бета тест и успешно включихме и изключихме тестовият климатик няколко пъти.

Наложи се лек тунинг на настройките на Pico-то (по подразбиране прави рестарт при липса на ping към него в рамките на 6 минути). Тази функция не ми бе нужна, така че я спрях. Останалото е настройка на статичен IP адрес, естествено user и pass и инсталиране на системата на място. На по-късен етап може да се добави и следене на текущата температура в стаята и състоянието на климатика (включен/изключен), но на този етап реших да не усложнявам схемата, след като така или иначе имам начин да разбера дали токът е спирал или не. Ето и как изглежда самият web interface за управление на PicoIP:

PicoIP поддържа и SNMP, та може да се напише и един скрипт за за автоматичен рестарт в случай на регистрирано от системата за мониторинг събитие, но сметнах, че и това не ми е нужно на този етап. Та след скромна инвестиция от 50 лв си имаме напълно функциониращо отдалечено управление на климатик, която ще се изплати от спестения бензин/дизел за разходки и загубата на нечие време да ги прави.

Devotion to Duty

понеделник, февруари 22nd, 2010

cc (xkcd)

CentOS Drivers

сряда, февруари 4th, 2009

Както стана дума и в предното ми писание има хардуер, който не работи от раз (out of the box) под CentOS, къде поради проблем с лицензи, къде по друга причина. На този линк в wiki.centos.org може да се види списък на подобен род хардуер, както и списък на драйверите, които са включени в текущото ядро по подразбиране.

Освен широкоизвестните проблеми с видео драйверите, другите най-често срещани проблеми са с тези за мрежови устройства. На тях и ще се спра, понеже в последните дни доста често ми се налагаше да търся драйвер за този или онзи чип. Някои от модулите, които ще спомена са част от линукс ядрото на по-късен етап (както съм споменал преди седмица за r8169), но текущото ядро в CentOS 5.2 е 2.6.18, в което те липсват. За проблемните чипове на Realtek вече стана дума – в линка по-горе има доста добре систематизирана информация по въпроса /тествани дъна, карти и т.н./

Днес имах проблем с неразпознат чип на Marvel, за който е нужен sk98lin module. Него го няма в хранилищата, на които съм се спрял аз – epel и rpmforge. Намерих го като kmod driver на следния адрес:
http://centos.toracat.org/ajb/CentOS-5/

Ето и пълен списък на модулите там:

kmod package	kmod version	kernel-2.6.18-128.el5 ver
============	===========	=========================

atl1		1.2.40.3	n/a

atl1e		1.0.1.0		n/a

atyfb		1.1		n/a

e1000		8.0.9-NAPI	7.3.20-k2-NAPI

e1000e		0.5.11.2-NAPI	0.3.3.3-k4

et131x		1.2.3		n/a

forcedeth	0.62		present but no version # stated

ieee1394	1.0.0		n/a

igb		1.3.8.6		1.2.45-k2

r8101		1.011.00-NAPI	n/a

r8168		8.010.00-NAPI	n/a

r8169		6.009.00-NAPI	2.3LK-NAPI

			            /--  skge 1.6
sk98lin		10.70.1.3       --<
				    \--  sky2 1.14

tulip		1.1.13-NAPI	1.1.13

One hell of a week

събота, януари 31st, 2009

Каква седмица само. Чувствах се изморен още във вторник, но след това, което последва, вторник вечерта направо си бях добре :)

Обичам работата си, много дори, но когато нещата се закучат… Е накрая, когато решиш даден проблем винаги е приятно, както беше приятно едно време в училище когато решиш някоя трудна задача по математика и физика, но все пак, въпреки задоволството, което ме изпълва, не пречи да си се оплача.

Всичко започна с невероятно креативната идея на APC да направят кабел usb към RJ50 (10P10C). Защо бе хора, когато UPS-те са ви едва ли не еталон за качество, трябва да разваляте доброто мнение на хората с тази глупост. Но нека цитираме Wikipedia:

Another use is with APC uninterruptible power supplies. In this case, it is a keyed 10P10C plug wit a protrusion on the pin 1 side near the back, it serves only to make the USB connection to the PC incompatible, forcing users with a lost or damaged cable to buy a proprietary one from APC, rather than using an inexpensive and readily-available USB cable with the correct „B“ connector on the UPS end. The pinout (at left) also uses both of the outermost positions on the 10P10C connector, preventing an 8P8C Ethernet cable from being spliced onto a USB cable.

Нужно ли е да казвам нещо повече. Неутралитета на статията бил под въпрос. Голяма работа, поне са си го казали хората така както е. И когато нямаш такъв кабел, работата става грозна. А аз дори не искам да правя shutdown на машината, искам чисто и просто мониторинг. Както и да е, оправих се, не без помощта на системния вожд, който беше така добър да ми заеме един кабел.  В последствие намерих и още един кабел, както и от въпросните накрайници. Ако някой се окаже в моята ситуация, то в Арго Контар има още 358 бр. Момичето, с което говорих каза, че не се радват на кой знае какъв интерес и се продават на високосна година, но се радвам че успях да намеря такъв накрайник и по нашите ширини. Алтернативата бе ebay.

Проблем номер 2. Оказа се не толкова лесна работа, колкото си мислех да се клонира хард диск с LVM. С dd е лесно, но не и когато target диска е по-малък по размер. Варианти много, но с който и да работих накрая все стигах до kernel panic, след проблем в initrd. Варианти за ремонт на initrd също няколко, аз в крайна сметка се спрях на възможността да направя update на ядрото и да го оставя да си свърши работата само. Tака и не успях да открия какво му липсва преди това, но ето какво показа diff след:

diff initrd-old initrd-new

> echo „Loading sata_via.ko module“
> insmod /lib/sata_via.ko

И така машината тръгна след доста мъки и обгрижване от моя страна, но радостта ми бе кратка. Защо? Ами заради Realtek и чиповете, които слагат нагоре надолу по onboard мрежови карти. Както и да е, след малко research стигнах до извода, че имам нужда от r8169 драйвер (или на пакет от тук), като преди това пробвах r8168 и r1000. Ако не се лъжа в ядра след 2.6.22 r8169.ko е включен. So far, so good. Подкарахме и мрежата.

Но ето тук идва кулминацията. За това ще бъда голословен…

Ati drivers for Linux sucks, big time. Period!

В крайна сметка в края на деня стигнах до happy end :) И както казва един приятел, ако не друго качвам level :)

А за да не си помисли някой, че съм злобен хейтър, то през седмицата се случиха и добри неща. Излезе KDE 4.2 :)

Stop ACTA