Dell U2412M과 EDID

EDID(Extended display identification data)란 모니터랑 그래픽카드와 통신하는 데이터이다.
일반적으로 I²C를 사용하며 VGA나 DVI, HDMI 케이블을 통해서 128바이트(1.x버전)나 256바이트(2.0버전)의 데이터가 오가는데
http://en.wikipedia.org/wiki/Extended_display_identification_data#EDID_1.3_data_format 여기 잘 나와있다.

올초에 메인으로 쓰던 Dell U2412M를 사용하던중
[ 2.801934] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 127
[ 2.801970] Raw EDID:
[ 2.801993] 7f ff ff ff ff ff ff 00 10 ac 7a a0 XX XX XX XX(SEREAL)
[ 2.802021] 1c 16 01 03 80 34 20 78 ea ee 95 a3 54 4c 99 26
[ 2.802049] 0f 50 54 a1 08 00 81 40 81 80 a9 40 b3 00 d1 c0
[ 2.802077] 01 01 01 01 01 01 28 3c 80 a0 70 b0 23 40 30 20
[ 2.802105] 36 00 06 44 21 00 00 1a 00 00 00 ff 00 47 48 4e
[ 2.802133] 33 52 32 37 42 33 45 35 4c 0a 00 00 00 fc 00 44
[ 2.802161] 45 4c 4c 20 55 32 34 31 32 4d 0a 20 00 00 00 fd
[ 2.802189] 00 32 3d 1e 53 11 00 0a 20 20 20 20 20 20 00 4a
이런 커널메시지가 날 반기며 모니터 출력이 정상적으로 되지 않았다.

위키를 보면 첫 8바이트는 “00 FF FF FF FF FF FF 00 ” 로 고정이나 커널은 첫바이트를 7F로 받으면서 에러를 내주었다.
물론 해상도데이터가 전혀없으므로 강제로 해상도를 잡아주기전까진 화면역시 나오지 않았다.
(편법으로 잘되는 모니터로 부팅후 바꿔치기 방법도 있었다.)

웹서핑을 하다가EDID를 PC에서 수정할 수 있는 방법을 찾았는데
PowerStrip을 이용하거나(추천) 리눅스 커맨드라인 프로그램이 있었는데(까먹음 -_-a)
내 피시에서는 지원되지 않았다.(HD3000….읽는거만…)

결국 귀찮아서 AS신청 하였다.(무려5년!)
1:1 교체였는데 불량화소 가득하고 빛샘현상이 가득해 보드만 냠냠 (1:1교체 ….)

어떤 이유로 EDID가 앞 1바이트만 바꼈는지도 모르겠으며 앞으로도 바뀔일이 없겠지…..
덕분에 EDID에 대해 공부할 수 있는 좋은 기회가 되었다. (이런기회는 없었으면….)

http://www.hardwarebook.info/VGA_(VESA_DDC)
http://en.wikipedia.org/wiki/Extended_display_identification_data
http://iambongsu.com/275

edid.tar.gz

LINUX 두개의 클립보드

최근 복사 붙여넣기를 하는도중 뭔가 자꾸 동기화가 안되는 느낌을 강하게 받았다.
이는 굉장히 거슬렸고 나를 짜증나게 만들었다.

이유를 찾았다.
역사상 이유로 리눅스에는 두개의 클립보드(selections)가 존재한다.

X11에서 사용하는 PRIMARY와 (Drag / Mouse mid button )
현대Gtk/Gnome or Qt/KDE에서 사용하는 CLIPBOARD (Control + c / Control + v)

두개가 아직 공존하는 이유는 CLIPBOARD-only 어플리케이션과 PRIMARY-only 어플리케이션의 공유가 어렵다는점.
(아직도 CLIPBOARD를 지원안해주는 어플리케이션이 있으면… 망한거아닌가;)

이 둘을 동기화, 관리 해주는 클립보드 매니저 툴들이 있다
Autocutsel, XFCE Clipmap, Gnome Glipper, KDE KlipperParcellite
(난 cliplt 쓰는데 parcellite랑 차이점을 모르겠음;)(은 Clipit is a fork of Parcellite라네)

이걸 써도 불편한건 사실 ( use primary에 synchronize 까지 걸면 그냥 드래그 하는데로 클립보드 들어가버림, 내가 원하는건 드래그는 클립보드 안넣었으면 좋겠는데..)

저질 같은 이런 현상을 확인하는 방법은
1. 웹페이지에서 한 단어를 Control+c로 복사한다(CLIPBOARD)
2. 다른내용까지 쭉 드래그만 한다.(PRIMARY)
3. terminator에 Shift + Insert 또는 마우스 휠을 누른다(PRIMARY)
4. terminator에 Ctrl+Shift+Insert 또는 Ctrl+Shift+v 를 한다(CLIPBOARD)

모든 문제를 해결하는방법은
Shift + Insert에 익숙한 습관을 Ctrl + Shift + Insert로 고치면 된다.(그냥 xmodmap으로 커스텀할까..)

http://unix.stackexchange.com/questions/77545/cut-copy-paste-in-linux-puppy-wary/77566#77566
http://unix.stackexchange.com/questions/82311/how-to-make-shiftinsert-paste-selection-after-closing-window-with-selection/82326#82326 (이글에서는 3개라고 주장함;)
http://en.wikipedia.org/wiki/X_Window_selection

NFC로 관리되는 도서 대여시스템 취약점

EAS(Electronic article surveillance)란 도난방지 장치 및 감지장치를 의미함.
http://en.wikipedia.org/wiki/Electronic_article_surveillance

많은 공공 도서관과 대학도서관에서 EAS를 위해 RFID를 사용중임
http://nicom.ibx.kr/bbs/board.php?bo_table=portfolio_x

호기심에 안드로이드의 TagInfo 어플로 해당태그를 스캔했더니
도서정보를 확인할 수 있었음.
taginfo

이 RFID 들은 NXP Icode SLI SL2 ICS20 제품이 사용됨.
http://www.nxp.com/documents/data_sheet/SL058030.pdf

데이터시트를 보니 EAS 라는 항목이 존재하고 이를 Set과 Reset 을 시킬수있는 프로토콜이 존재함.  (데이터시트 17p)
또한 이 플래그를 제어는 아무나 가능함.

간단한 안드로이드 어플리캐이션을 제작하여 테스트해봄
read unset
정상적으로 빌려온 도서이기에 EAS는 해제되어있음 (게이트 통과시 경보x)

이 도서에 Set 버튼을 통해 EAS 를 세팅
EAS Wirte
그후 태그 스캔시
read set
EAS가 세팅되어있음.

실제 화정 글샘도서관에서 실무자에게 양해를 구한뒤 실제환경에서 테스트를 모두 마치고 해당 내용 전달함. (14/03/04 11시경)

테스트한 태그는 모두 나인콤과 이씨오에서 정부에 조달한 제품으로 모두 간단히 본 어플에 태그함으로써 EAS비트를 조작할 수 있었음.
http://www.eco.co.kr/
http://nicom.ibx.kr/

NFC 지원 안드로이드폰은 현재 널리 보급되어있어서 EAS를 조작하는 어플리캐이션이 공개될 경우 도서관 뿐만 아니라 해당 태그를 사용하여 도난 방지하는 곳은 모두 무력하게 되므로써 이 시스템을 믿고 있었다간 큰 피해를 입을 가능성이 있음.

또한 회원카드 역시 동일한 태그를 사용하며 ISO/IEC 15693 (NfcV) 에 정의된 프로토콜을 사용함으로써 태그의 내용을 읽고 수정할 수 있으며 회원번호를 변조하여 타인명의로 대출할 수 있음.

해결방안 : 문제 발생전 태그 전량교체 외 해결방법이 없는 것으로 사려됨

 

ps. 도서관협의회에서 기 발표된 자료임.
http://www.kapul.or.kr/apload/userfiles/files/2014%20%EB%8B%A8%EA%B5%AD%EB%8C%80/%EC%A0%9C16%EC%B0%A8%20%EB%8F%84%EC%84%9C%EA%B4%80%EC%9E%A5%20%ED%9A%8C%EC%9D%98/ECO%20%EB%B0%9C%ED%91%9C%EC%9E%90%EB%A3%8C.pptx

terminator 에서 Drag&Drop 활성화하기 + bug fix

현재 debian 7.8에 terminator 버젼은 0.93이다.
터미네이터로 드래그앤드롭기능은 0.96부터 지원된것으로 확인되며
직접 현재 최신버전0.97(이래봤자 2년전릴리즈..)로 올리면
드래그앤 드롭기능이 작동한다.

본인의 경우에는 파일을 드래그했을시 경로 뒤 newline이 두개가 삽입되는걸 확인할 수 있었는데
/usr/share/terminator/terminatorlib/terminal.py 파일의 991 라인 (0.97기준)
txt = “‘%s'” % urllib.unquote(txt[7:])을
txt = “‘%s'” % urllib.unquote(txt[7:].rstrip())
로 수정해줌으로써 해결하였다.

죽은 G2 살려내기 (F320)

롬질하다가 G2가 죽었다면
아래의 방법으로 쉽게 살려낼 수 있다.

분해해야 하므로 정말로 완전히 죽었는지 확인할것(리커버리, 다운로드모드, 일반부팅)
전혀 답이없을때는 >>

뒷뚜껑을 살살 열어서
a
버튼이랑 심카드부분 제거,
bc
배터리 빼고 USB만 연결한 상태에서 여기 두군데 쇼트시키면 (잘안되면 한 2초정도 길~게)
Qualcomm HSUSB_BULK 이렇게 외장하드처럼 인식함
그러면 dd로 열심히 롬 다시 씌워주면됨 ^^* 퀄컴짱인듯.

ps. 왜 토시바 옆에 저런게 있는거지? ap 옆에 있어야될거같은데
ps2. 이런건 어떻게 찾는거야;

출처 : http://forum.xda-developers.com/lg-g2/general/fix-lg-g2-recovery-mode-download-mode-t2840458