Latest Publications

OpenBench Logic Sniffer – Tutorial

Acum foarte mult timp am scris un mic tutorial cu privire la interfatarea unei memorii I2C cu Arduino. Vroiam atunci sa testez un dispozitiv OpenBench Logic Sniffer, folosind setup-ul respectiv. Cu toate ca am facut niste probe atunci, nu am avut timp sa si descriu experimentele, asa ca voi pune cateva capturi de ecran acum.

Am folosit aplicatia LogicSniffer – Logic Analyzer Client, versiunea 0.9.3.1. La data scrierii acestui articol cea mai noua versiune este 0.9.6, insa din pacate nu mi s-a instalat si nici nu am avut rabdare sa vad de ce.

Pentru inceput, setarile de captura arata asa:

OpenBench Logic Sniffer Setup - Connection

OpenBench Logic Sniffer Setup - Acquisition

OpenBench Logic Sniffer Setup - Triggers

Imediat dupa ce datele au fost inregistrate:

OpenBench Logic Sniffer - I2C

Din meniul Tools alegem I2C protocol analyser …:

OpenBench I2C Analyzer

Dupa analiza propriu-zisa se poate vedea traficul I2C. In acest exemplu in memoria 24C64 a fost scris sirul “eeprom data”:

OpenBench I2C Analysis Results

Daca marim graficul obtinem urmatoarea imagine:

OpenBench I2C Analyzer Results

Cam atat, sper ca v-am trezit interesul. La numai 50$, OpenBench Logic Sniffer e o jucarie interesanta si probabil poate fi o unealta destul de utila.

Hackintosh, MacOS pe PC

Nu mai stiu cum am ajuns la asta, probabil am citit pe undeva intamplator si m-a atras ideea. Imi place sa ‘mesteresc’, recunosc. Despre ce e vorba de data asta… Am reusit sa-mi instalez Mac OS X 10.8.2 Mountain Lion pe un laptop aproape no-name, Maguay MyWay. Da, probabil ca n-ati auzit de marca asta (desi este de asemenea posibil sa fi ajuns aici cautand tocmai acest model), insa ‘reteta’ mea poate fi aplicata probabil unei game foarte largi de laptop-uri. Daca te tenteaza sa ai Mac OS X pe PC sau pe laptop, citeste in continuare. Articolul de azi este o scurta (si nu prea) introducere si in functie de interes voi veni cu mai multe amanunte.

Ok, ce inseamna de fapt Hackintosh? Termenul se refera la un computer, fie el desktop sau laptop, care ruleaza sistemul de operare Mac OS de la Apple, dar nu este produs de Apple. De ce e o aventura sa instalezi acest OS pe un PC/notebook obisnuit? In mare pentru ca suporta numai hardware-ul folosit de cei de la Apple in produsele lor. Astfel, daca ai norocul sa ai un hardware compatibil, totul va merge struna. Daca nu, fie inlocuiesti componentele fie renunti la unele functionalitati (de exemplu, eu nu am reusit sa fac sa mearga placa de retea ethernet, prin urmare folosesc numai conexiunea WiFi).

Cateva detalii despre laptop-ul pe care l-am folosit (Maguay MyWay):

Procesor: Intel(R) Pentium(R) CPU B940 @ 2.00GHz (CPU ID: 000206A7)
Chipset placa de baza: Intel HM65 (Cougar Point) [B3]
Memorie RAM: 3 GB, DDR3 SDRAM, 1333 MHz
HDD: Seagate ST9320325AS (320 GB)
Placa video: Intel HD Graphics 2000 (Sandy Bridge GT1)
Audio: Realtek High Definition Audio
WiFi: RealTek Semiconductor RTL8188CE Wireless LAN 802.11n PCI-E Network Adapter (am inlocuit cu: Atheros AR9285 802.11b/g/n WiFi Adapter)
Bluetooth: Cambridge Silicon Wave Linker BTM01C2AC Bluetooth Adapter (am inlocuit cu: Atheros AR3011 Bluetooth 3.0 + HS Adapter, fortat de imprejurari, desi mergea, pentru ca e pe aceeasi placa cu modului WiFi)
Ethernet: JMicron Technology JMC250 PCI-E Gigabit Ethernet Adapter

Ce merge:

  • Video, fara accelerare grafica, rezolutia nativa 1366×768
  • Audio (moare dupa Sleep)
  • WiFi, Bluetooth (am inlocuit placa mea Realtek pe care mergea numai Bluetooth cu o placa Atheros pe care merge si WiFi)
  • Sleep
  • iCloud, Apple Store
  • Tastele functionale (FN), cu exceptia tastei pentru activare/dezactivare Bluetooth
  • Indicator baterie
  • Boot de pe hard disc
  • Porturile USB (2.0)
  • Webcam-ul (nici macar nu am incercat s-o fac sa mearga, a functionat din prima)

Ce nu merge:

  • Ethernet (nu e o mare problema ca nu merge si probabil ca la un moment dat problema se va rezolva, deja cineva a lansat o versiune minimala de driver)
  • Audio, dupa Sleep (functioneaza inainte de Sleep, functioneaza chiar si microfonul incorporat, probabil ca exista o solutie relativ simpla insa nu mi-am batut capul prea mult deocamdata)
  • Accelerarea video (probabil cea mai deranjanta problema, Launchpad-ul functioneaza execrabil, probabil ca nu merge niciun joc; aproape sigur nu se va rezolva, placa grafica HD2000 nu e nici suportata, nici foarte populara)

Merita sa incerci? Cred sincer ca da, din mai multe motive:

  • Daca nu iti poti permite un Mac sau poti dar nu vrei sa dai atatia bani, pe un Hackintosh poti sa folosesti sistemul de operare de la Apple, fie si numai ca sa vezi daca-ti place.
  • E o metoda simpla de a pierde niste timp invatand unele chestii.
  • Poti face un dual-boot cu Windows.
  • Poti sa-ti faci un computer mai ieftin si mult mai puternic decat un Mac.
  • Poti sa te lauzi cu asta prietenilor tai fara sa-i faci invidiosi ca ti-ai luat ultimul model de MacBook Pro.
  • Si mai sunt o mie de motive mult mai bune ca astea.

De ce am incercat eu:

  • Am vrut sa vad daca imi iese.
  • Nu vreau sa dau banii pe un Mac in clipa asta, dar vreau sa invat sa fac programe pentru iOS.
  • Imi place sa fac din ***** bici si sa mai si pocneasca.

Cateva sfaturi pentru ceilalti incepatori:

  • Asa cum iti vor spune cei mai experimentati decat mine, daca vrei sa nu te doara capul prea mult, fa-ti un desktop din componente suportate. Avantaje: va functiona fara prea mari eforturi, poti face o bestie cu i7 Quad Core si 32 GB de RAM sau ceva minimal, in functie de buget, va functiona tot ce vrei sa-i pui. Dezavantaje: nu va fi portabil, va face mai mult zgomot, vei pierde mai putin timp, nu va fi un challenge prea mare.
  • Daca vrei un laptop, fa putin research inainte. Sunt laptop-uri foarte comune, pentru care exista un suport enorm din partea comunitatii de pasionati (ex. HP ProBook 4540s). Daca nu vrei sa iei totul de-a gata sau nu-ti place/nu gasesti niciun model dintre cele populare, incearca sa gasesti unul care-ti place si ti-e accesibil, dar cu cat mai multe componente suportate (vezi ce placa video are, ce placa WiFi/BT, ce BIOS, ce placa audio etc.)
  • Tine cont ca poti inlocui unele componente care nu se potrivesc, dar nu orice. Cele mai usor de inlocuit sunt placa de retea wireless si modulul Bluetooth, insa nu cred ca te vei apuca sa schimba placa video, asa ca asigura-te ca ai una care merge (ex. Intel HD 3000, HD 4000 etc.)
  • Pentru unele componente poti folosi versiuni pe USB. De exemplu, poti pune o placa WiFi, BT, audio si chiar ethernet pe USB, daca cele interne nu functioneaza. La fel poti face cu webcam-ul.

Dupa ce mi-a iesit asa de bine prima data, problema e ca nu cred ca ma pot opri. Deja am pus ochii pe un Sony Vaio al sotiei mele si pe ultraportabilul unui prieten. Mai ales ultraportabilul asta ma tenteaza in mod deosebit, daca merge chiar ar fi o chestie tare. In afara de astea, am mai vazut eu un Toshiba destul de ieftin la ce ofera si care pare destul de compatibil. Va tin la curent.

Raspberry Pi – Login pe portul serial


A trecut aproape o luna de la ultima postare asa ca m-am mobilizat sa fac ceva interesant cu Raspberry Pi. Din lipsa de timp nu e ceva spectaculos, totusi poate fi primul pas spre aplicatii mai complexe. Pentru ca intentionez sa conectez niste dispozitive la Raspberry Pi pe portul serial, m-am gandit sa fac primul pas si sa leg Raspberry Pi la calculator folosind un adaptaor USB – TTL. Prin aceasta metoda se pot vedea mesajele de boot fara a fi nevoie de un monitor si este posibila logarea la Raspberry pe portul serial (de exemplu fara a mai lega placa la reteaua ethernet). Sunt disponibile pe eBay dispozitive ca acesta (pe care l-am si comandat de altfel), insa aveam prin casa un “USB BUB”, care arata cam ca aici si care a fost suficient pentru ce aveam nevoie. Pinii care se folosesc sunt incadrati cu rosu in imaginea urmatoare (click aici pentru sursa imaginii originale):
Raspberry Pi GPIOs
Se conecteaza in felul urmator:
Raspberry Pi USB TTL Wiring
Conectare pe portul serial la Raspberry Pi
Aveti grija sa deconectati placa de la sursa de tensiune in timp ce faceti conexiunile. Pentru conectare se poate folosi orice aplicatie de tip “terminal” (Hercules, Hyperterminal etc.). Eu am folosit Putty, cu urmatoarele setari:

Serial line: COM3
Speed: 115200
Connection type: Serial

Putty Raspberry Pi Configuration
COM3 trebuie inlocuit cu portul corespunzator, in functie de cum a fost recunoscut adaptorul de catre sistemul de operare. Click pe Open si dupa alimentarea placii Raspberry ar trebui sa avem output in Putty si in cele din urma un prompt de login.
Raspberry Pi login via serial port
RaspBMC este foarte tacut. Numai cateva linii si avem promptul de login. Numele de utilizator implicit este “pi” si parola “raspberry”.
Raspbian login via serial port
Raspbian este mult mai vocal, afiseaza aproape tot output-ul disponibil pe monitor inainte de a afisa login prompt-ul. Se folosesc in mod implicit aceleasi date de conectare ca si la RaspBMC (XBMC pentru Raspberry Pi).
ArchLinux login via serial port
Ultima varianta pe care am testat-o a fost Arch Linux. Datele implicite de conectare sunt “root” si parola “root”.