Category Archives: 삽질

데비안, GRUB 2, intelfb

리눅스 커널 소스 트리를 뒤지다 보면 두 종류의 비디오 드라이버를 찾을 수 있다. 하나는 우리가 흔히 말하는 그래픽 드라이버인 DRI 드라이버이고, 또 다른 하나는 프레임버퍼 드라이버이다. 전자는 X.org 하에서의 2D/3D 가속 등을 담당하며, 후자는 X.org가 뜨기 전까지, 흔히 콘솔이라고 말하는 영역에서 그래픽 처리를 담당한다. 프레임버퍼를 전혀 사용하지 않으면 과거 도스 시절에나 볼 수 있었던 콘솔이 뜨지만, 프레임버퍼를 사용하면 해상도도 높아지고, mplayer를 사용하여 동영상도 볼 수 있다. 부팅 스플래시도 이렇게 처리한다.

GRUB 1에서 리눅스 프레임버퍼를 사용하려면 커널 옵션으로 vga=xxx 또는 video=xxx를 추가해 줘야 했다. vga=xxx 옵션을 추가하면 하드웨어 가속을 전혀 사용하지 않는 vesafb를 불러온다. vesafb는 이름처럼 표준적인 기능만 제공해서 VESA 표준이 아닌 해상도(와이드 포함)를 사용하려면 하드웨어 정보를 들여다봐서 모드 값을 알아내야 했다. 이외의 다른 프레임버퍼 드라이버를 사용하려면 video=(프레임버퍼 드라이버) 식으로 지정해 주면 된다.

GRUB 2로 진화하면서 GRUB 구조가 완전히 바뀌면서 프레임버퍼 설정 방법도 바뀌었다. 더 이상 menu.lst 파일의 주석에 정보를 숨기지 않고, 모듈화된 설정 파일로 바뀌었다. 프레임버퍼 설정 역시  GRUB 1에서 썼던 것처럼 vga=xxx라는 커널 옵션을 줘도 커널은 이 옵션을 적절히 무시한다. 그리고 해상도를 지정하기 위해서 암호같은 모드 값을 외울 필요도 없어졌다. 데비안 기준, /etc/default/grub 파일을 수정해 주면 게임이 끝난다. 처음 파일을 열어 보면 다음과 비슷할 것이다.

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1280x800
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"

보이는 것처럼 menu.lst 파일의 주석 대신 환경 변수를 사용한다. 그래픽 모드를 사용하려면 GRUB_GFXMODE의 주석을 풀고 원하는 해상도 및 색 농도로 설정해 주면 된다. 1024×768의 32비트를 사용하려면 1024x768x32로 입력해 주면 된다. 설정을 업데이트했으면 update-grub 명령을 내려서 실제 grub.cfg 파일에 반영시키면 된다. 다음 부팅 때부터 GRUB은 그래픽 모드에서 실행되며, GRUB에서 설정된 해상도가 리눅스 프레임버퍼까지 간다. 이 과정에서 vesafb 모듈이 자동으로 올라가며, video=xxxxx 옵션을 주면 선택한 드라이버를 사용한다.

내 서브노트북 Q10을 업어오면서, 원래 계획은 intelfb 드라이버를 올려서 X11 없는 GUI 사용이었다. 인텔 830M 그래픽은 분명히 intelfb 드라이버의 지원 목록에 있었다. 하지만 intelfb 드라이버는 유명한 에러 메시지를 내놓으면서, 정작 뚜렷한 해결책도 없었기 때문에 X11을 그냥 올렸고 KDE를 설치했다. intelfb 드라이버의 문제는 다음 문단에 설명한다.

대개의 프레임버퍼 드라이버는 video 옵션만 지정해 주면 되는데, intelfb 드라이버, 특히 노트북에서 사용하려면 상당히 머리가 아프다. GRUB에서 그래픽 환경 설정을 하지 않고 보통의 프레임버퍼 드라이버처럼 video=intel:mode=1024×768 식으로 해상도를 지정해 주면 노트북 사용자들을 좌절하게 만드는 “intelfb: Video mode must be programmed at boot time” 오류가 뜬다. vga=xxx 옵션을 같이 줘 놓으면 비디오 모드는 제대로 찾는데, 이제는 vesafb와 순위 쟁탈전을 벌이면서 “intelfb: cannot acquire agp”나 “intelfb: Cannot reserve FB region” 같은 오류가 뜨면서 기대하던 인텔 프레임버퍼가 뜨지 않는다.

원인을 계속 찾다 보니, 데비안 커널에 내장된 vesafb가 원인이었다. 커널 컴파일을 새로 하면서 vesafb를 빼 버리고, initramfs를 만들면서 intel_agp, agpgart, intelfb 모듈을 추가시켜 줬다. 어차피 프레임버퍼에 관심을 가질 정도로 리눅스를 잘 아는 사람이라면 커널 컴파일이 무엇인지는 알 테니, 여기에서 방법은 생략하겠다. 어떻게 컴파일을 하든, vesafb를 빼고 intelfb를 포함해서 컴파일해야 한다. 내 경우, 서브의 사양이 심각하게 안 좋아서 대부분의 안 쓰는 모듈을 과감하게 빼고 컴파일했다.

커널 컴파일과 initramfs 생성이 끝난 다음, GRUB 설정을 수정해서 video=intelfb 옵션을 추가해 주었다. 반신반의했지만 성공했다. 비디오 모드를 바꿀 수 없다는 경고 메시지가 지나갔지만, 프레임버퍼 정보를 보니 인텔 프레임버퍼를 정확하게 잡아 주었다. 여기까지 왔다면 프레임버퍼를 사용하는 리눅스 프로그램은 무엇이든지 쓸 수 있다. mplayer를 사용해서 영화를 볼 수도 있고, fim으로 그림을 보거나 w3m-img를 설치해서 그림까지 보면서 웹을 즐길 수 있다. fbgrab을 설치하면 프레임버퍼의 스크린샷을 찍을 수 있고, gpm을 설치하면 마우스를 사용할 수 있다.

아래는 부팅 동영상과 실제 인텔 프레임버퍼를 사용한다는 걸 보여 주는 명령들이다.


데비안 intelfb

데비안 intelfb

요약하면, 데비안을 사용하는 노트북에서 intelfb를 제대로 쓰려면 커널을 다시 컴파일해야 한다. 이 때 기본 내장된 vesafb 옵션을 끄지 않으면 서로간의 충돌 때문에 intelfb가 올라오지 않는다. 커널을 새로 설치한 다음, GRUB 설정 파일을 편집해서 원하는 해상도를 설정하고, 리눅스 커널 인자에 video=intelfb를 추가해서 인텔 프레임버퍼를 사용하게 하면 된다.

노키아 6210으로 할 수 있는 일 – 리눅스와 동기화

대한민국에 팔리는 휴대폰 중 리눅스에서 사용할 수 있는 폰이 얼마나 있을까? 거의 없다에 올인이다. 대부분의 국내 제조사 휴대폰은 윈도를 벗어나면 먹통이 된다. 비트핌과 같은 서드파티 유틸리티 중 국내 휴대폰을 제대로 동기화시킬 수 있는 프로그램은 없다. 그나마 윈도 모바일을 탑재한 스마트폰은 다른 운영체제에서 동기화가 된다. 그리고 노키아 6210 역시 리눅스에서 동기화를 지원한다. 리눅스 사용자라면 놓치면 안 된다.

우리가 사용할 도구는 MultiSync이다. 첫 페이지에서 눈여겨볼 항목은 SyncML 지원이다. 과거 SPH-W2100을 리눅스에서 사용하기 위해서 패킷 캡처를 해 본 결과 동기화 통신에는 SyncML을 쓰고 있는 것 같지만, 동기화 모드로 진입시키기까지 과정이나 어떤 식으로 SyncML을 주고받는가에 대해서는 전혀 문서화되지 않았다. 반면 해외 휴대폰들은 국내에 비하면 상황이 상당히 나아서 서드파티 도구로도 충분히 동기화시킬 수 있다.

이제 휴대폰을 동기화시키려면 MultiSync와 함께 각각 데스크톱 환경에 특화된 PIM(개인 정보 관리자) 프로그램을 설치해야 한다. KDE Kontact를 설치하면 전자 우편 프로그램 KMail, 주소록 프로그램 KAddressBook, 달력 프로그램 KOrganizer, 메모 프로그램 KNotes를 비롯한 KDE PIM 프로그램이 설치된다. MultiSync는 이 프로그램과 휴대폰 사이에서 데이터를 동기화시키는 역할을 담당한다.

나는 현재 데비안을 사용하고 있고, 어지간한 곳에서는 데비안이나 우분투가 크게 비슷하기 때문에 우분투 쪽의 가이드를 참고하였다. PIM 패키지를 설치했다면, MultiSync와 각종 플러그인, GUI 프로그램 패키지를 설치하면 된다. multisync-tools는 필수 패키지이고, opensync-plugin-syncml, libsyncml-tools는 휴대폰과 연결하기 위한 SyncML 플러그인이다. opensync-plugin-kdepim은 KDE PIM과 동기하기 위한 플러그인이다. GUI를 좋아한다면 multisync0.90 패키지를 같이 설치해 주자.

모든 패키지 설치가 끝났다면 msynctool –listplugins를 실행시켜 설치 상태를 확인하자. 설치가 제대로 되었다면 SyncML, KDE PIM 플러그인이 있다고 나타난다. 그 다음에는 휴대폰을 등록해야 한다. 상세한 설명은 가이드에 나와 있으므로, 여기서는 개요만 다루겠다. 우선 동기화 그룹을 설정한다. 동기화 그룹 안에는 무엇과 무엇을 동기화시킬지를 등록하면 된다. 새 동기화 그룹을 만든 다음, KDE PIM과 SyncML을 구성원으로 등록한다. 그 다음 SyncML 쪽을 설정한다. USB나 블루투스 둘 다 지원하므로 취향에 따라서 선택하면 된다.

8월 28일 내용 추가: 굳이 CLI 상에서 동기화 설정을 할 필요가 없다. 아래의 GUI 프로그램 multisync0.90을 처음 실행시키면 빈 창이 뜬다. 위에 있는 ‘추가’를 눌러서 동기화 그룹의 이름을 지어준 다음, 그룹 추가 후 ‘편집’을 누른다. 어떤 동기화 구성요소를 추가할 지 물어보는데, SyncML OBEX Client와 KDE Desktop을 추가시켜주면 된다. KDE Desktop 쪽은 설정할 필요가 없지만, SyncML OBEX 클라이언트는 수정해 줘야 한다. 편집을 누른 다음 SyncML OBEX Client 쪽에서 identifier를 PC Suite로, USB 연결을 사용한다면 인터페이스의 숫자를 2에서 5로 바꿔 주면 된다. 대신 블루투스 연결을 사용한다면 휴대폰의 블루투스 MAC 주소를 지정해 줘야 한다. *#2820#(*#bta_#)을 누르면 블루투스 주소가 뜬다.

여기까지 과정을 잘 따라왔다면 명령행으로 동기화하거나 앞서 설치한 multisync0.90 GUI 도구를 실행시켜서 동기화하면 된다. GUI는 상당히 간단해서, 휴대폰을 연결한 다음 ‘새로 고침’만 누르면 동기화가 시작된다. 참 쉽죠?

multisync GUI 도구

multisync GUI 도구

상황에 따라서 오류 메시지를 내고 동기화가 끝날 수도 있지만, 대개의 경우 오류 메시지가 떴음에도 불구하고 성공한다. 동기화가 끝난 후 PIM 프로그램을 실행시켜 보면 정보가 업데이트되었음을 확인할 수 있다. 아래는 설정을 모두 완료한 다음 노키아 6210과 컴퓨터를 동기화시키는 장면이다.

동기화가 끝났으면 KAddressBook을 실행시켜서 전화번호를 확인해 보자. 처음에는 아무것도 입력하지 않았고, 동기화한 이후 휴대폰의 연락처가 모두 컴퓨터로 입력되었다. 아직까지 KDE PIM 쪽은 많이 사용해 보지 않아서 번역 상태가 좋은 편은 아니지만 시간과 노력이 해결해 줄 문제이다. 또는 번역 파일을 보내 주면 얼마든지 커밋해 줄 수 있다. KAddressBook을 사용해서 얼마든지 연락처 정보를 편집할 수도 있고, 적당한 프로그램만 깔려 있으면 휴대폰에 손 안 대고 전화를 걸거나 문자를 보낼 수도 있다.

KAddressBook으로 본 전화번호부

KAddressBook으로 본 전화번호부

리눅스를 쓴다면 당장 노키아 6210을 사서 오픈소스 PIM 도구의 강력함을 직접 체험해 보기 바란다.

노키아 N810으로 싸이월드 미니 즐기기

사실 노키아 N810에 내장된 브라우저는 충분히 강력하다. 한 박자 쉬는 것만 감수할 수 있으면 어지간한 큰 사이트도 잘 들어가진다. 해상도도 800×480으로 꽤나 높기 때문에, 그냥 PDA용 사이트에 들어가면, 화면을 돌리지 않는 한 가로가 텅 비는 사태가 발생한다. 디자인이 잘 되어서 가로 800픽셀도 문제없이 소화해낸다면 이야기가 달라지지만. 그래서 이놈으로 인터넷을 할 때에는 모바일 사이트를 쓰는 게 불편하다. 기능 제약도 있고 모양이 좋지 않아서이다.

그런데 싸이월드 미니는 아닌 것 같다. 애시당초 이게 나온 이유가 옴니아 때문이다. 옴니아의 액정 해상도도 800×480이기 때문에 잘리거나 남는 공간 없이 잘 보인다. 게다가 이걸 만들면서 기존에 쩡했던 PDA용 스윙 싸이월드 페이지를 없애버려서 별 수 없이 새로운 싸이월드 미니를 써야 한다. 옴니아 특화 서비스랍시고 아무 브라우저나 접속하면 츤츤댄다. 그냥 브라우저로 싸이월드 미니를 들어가면 이런 말이 뜬다

기본 MicroB로 싸이월드 미니 접속시 화면.

기본 MicroB로 싸이월드 미니 접속시 화면.

문제는 저기서 지원 단말기를 눌러도 옴니아밖에 없다. 하여간 기존 스윙 싸이월드 사용자는 어쩌라고. 스마트폰뿐만 아니라 넷북 또한 가로 해상도 제한이 있어서 저 서비스를 사용하는 게 나을수도 있다. 하여간 저 상황에서 제대로 된 페이지를 보려면 훼이크를 써야 한다. 다행히도 저장소만 잘 추가해 주면 훼이크를 쓸 준비는 끝난다. 이미 User Agent Switcher가 있다. 링크를 따라 가면 원클릭으로 설치할 수 있는 방법이 있으며, MicroB를 두 번 껐다 켜지 않으면 낚일 수도 있다.

User Agent Switcher 설치 후.

User Agent Switcher 설치 후.

아래 사진은 User Agent Switcher가 제대로 설치되었을 때 패키지 목록에 뜨는 화면이다. 하여간 이걸 설치하고 브라우저를 두 번 껐다 켜면, 별다르게 추가되는 메뉴가 없어서 낚일 수도 있다. 다른 MicroB용 확장 기능이 그렇듯이 얘도 별도의 메뉴를 추가하지 않는다. 따라서 암호같은 설정 페이지 URL(chrome://useragentswitcher/content/config.html)을 직접 입력해야 한다. 자주 사용한다면 저걸 책갈피에 추가하는 게 좋다.

한술 더 떠서 새 사용자 에이전트 입력도 상당히 불편하다. Add를 누르면 사용자 에이전트를 구성하는 각각 구성 요소를 순서대로 물어본다. 되돌아갈 수도 없어서 문제다. 한 번 틀렸으면 삽되므로 처음부터 제대로 입력할 필요가 있다. 이 블로그에 따르면 싸이월드 미니를 띄워 주는 사용자 에이전트가 두 종류 있다고 한다. 하나는 옴니아에 내장된 Pocket IE, 다른 하나는 Opera이다. 둘 중 아무거나 써도 된다고 하니 여기서는 Opera의 사용자 에이전트를 입력시켜 보겠다.

하여간 저 창에서 Add를 누르면 사용자 에이전트 설명, 서버로 전달할 문자열, 프로그램 이름, 버전, 플랫폼, 제조사, 제조사 하위 설명 등을 순서대로 물어온다. 오페라의 사용자 에이전트를 입력하기 위해서 나는 이 과정을 거쳤다.

  • Description: Opera 9.5 (TMONIA)
  • User Agent: Opera/9.5 (Windows NT 5.1; SKT; U; en)
  • App Name: Opera
  • App Version: 9.5 (Windows NT 5.1; SKT; U; en)
  • 나머지: 비움

복사해서 붙여넣기가 상당히 압박스러우므로 이 순서와 문자열을 웬만하면 기억해 둬야 한다. Pocket IE 정보를 추가하는 것도 비슷하게 하면 된다. 힘겨운 과정을 거쳐서 입력을 다 시키면 이렇게 된다.

엄청나게 압박스러운 사용자 에이전트 입력 장면.

엄청나게 압박스러운 사용자 에이전트 입력 장면.

방금 추가한 사용자 에이전트를 선택한 다음, Choose Selected User Agent를 누른 다음 다시 싸이월드 미니로 들어간다. 이제 제대로 된 페이지가 뜬다.

노키아 N810으로 본 싸이월드 미니.

노키아 N810으로 본 싸이월드 미니.

가로 해상도가 800이 나와 줘서 스크롤의 압박 없이 볼 수 있다. 미니홈피나 클럽도 이 상태에서 잘 된다. 아무튼 SK컴즈에서 싸이월드 미니를 옴니아 전용으로만 쓰지 말고 다른 장치에서 접속할 수 있도록 바꿔 두길 바랄 뿐이다.

델 노트북 태그의 정체

델 컴퓨터의 바이오스에 들어가 보면 사용자가 수정할 수 없는 태그가 두 개 있다. 하나는 Asset Tag, 다른 하나는 Ownership 태그이다. 델이 기본적으로 제공하는 프로그램만으로는 이것을 편집할 수 없기 때문에 이 태그에 신경을 쓰는 사람은 적을 것이다. 많은 사람들의 생각과는 다르게 이 태그들은 간단한 프로그램만으로도 편집할 수 있다.

델 바이오스 화면의 태그

델 바이오스 화면의 태그

데비안에는 libsmbios-bin이라는 패키지가 있다. 이름이 말하는 것과는 달리 이 패키지는 사실상 델 전용 패키지이다. 내용물을 보아도 델 컴퓨터가 아니면 실행시킬 필요가 전혀 없는 프로그램만 들어 있다. 가령 dellBiosUpdate 같은 프로그램은 델이 아니면 실행시켜 봤자 헛수고일 것이고, serviceTag 같은 프로그램은 델이 아니면 제대로 된 값을 돌려 주지 않을 것이다. 반면 델 사용자라면 이 패키지의 내용물이 꽤 유용하다.

libsmbios-bin은 데비안이나 우분투라면 apt-get install만으로도 쉽게 깔 수 있고, 기타 다른 배포판은 잘 모르겠다. 이 패키지를 설치하면 앞서 이야기했던 델 전용 프로그램이 깔린다. 대부분 프로그램의 이름은 제어하는 장치 이름으로 되어 있기 때문에 한 번씩 실행시켜 보면 알 수 있고, 도움말이 나오지 않으면 -h 옵션을 붙이면 된다. 여기에서는 그 중 assetTag와 propertyTag에 대해서 알아 볼 것이다.

델의 Asset Tag는 기업을 목적으로 만들어졌다. 한 회사에서 다량의 PC를 구입할 때 각각 PC별로 태그를 붙여서 구분하기 위한 것이고, 바이오스 화면에만 표시된다. 자세한 정보는 여기에서 확인할 수 있다. 때때로 윈도 무인 설치 시 이 태그에서 컴퓨터 이름을 만들어내기도 한다. 개인 사용자라면 이 태그를 설정할 필요는 없겠지만, 컴퓨터가 여러 대 있다면 유용할지도 모른다. 이 태그는 최고 10자까지 설정할 수 있다.

Ownership Tag는 이와는 달리, 부팅 화면 및 바이오스 화면에 직접적으로 표시된다. 컴퓨터의 사용자가 누구인자를 알려 주는 태그이므로 설정해 두면 이름을 적는 것만큼 유용할 것이다. 어지간한 사용자들은 바꿀 수 있는 방법을 모르기 때문에 도난 방지에도 눈꼽만큼은 유용할 것이다. 최고 80자까지 설정할 수 있다. 아래 화면은 Ownership Tag에 설정해 둔 이름이 표시되는 화면이다.

POST 화면에 뜨는 이름

POST 화면에 뜨는 이름

부팅 암호 화면에 뜨는 이름

부팅 암호 화면에 뜨는 이름

아무튼 이 두 태그를 변경하려면 먼저 dcdbas 커널 모듈을 올려야 한다. 이미 이 모듈은 여러 배포판에 포함되어 있으므로, 간단하게 modprobe 명령을 실행시키면 된다. 그 다음 assetTag와 propertyTag 명령을 실행시키면 현재 설정되어 있는 값을 볼 수 있다. 커널 모듈이 올라가 있지 않으면 오류 메시지가 표시된다. 권한 오류가 나타나면 루트로 실행하면 된다.

값을 설정하려면, assetTag -s (설정할 값) 또는 propertyTag -s (설정할 값)을 입력하면 잠깐 멈칫했다가 값이 설정되었다는 메시지가 뜬다. 바이오스에 암호가 걸려 있다면 –password (바이오스 암호)를 추가해야 성공한다. 암호를 평문으로 입력해야 하기 때문에, export HISTSIZE=0을 먼저 입력한 다음 명령행으로 암호를 입력하는 것을 추천한다.

assetTag를 설정하면 바이오스 화면에만, propertyTag를 설정하면 POST 및 부팅 암호 입력 화면에 다 표시된다. 이 두 태그 항목이 바이오스에 있는 모델은 대부분 지원한다. 평소 어떻게 변경하는지 알 수 없었던 태그를 변경해 두면 소유권을 더 확실히 표시해 둘 수 있을 것이다.

델 서비스 이용 후기

평소 리눅스만 쓰고 있었을 때는 그래픽이 깨지거나 하는 일이 발생하지 않았지만, 사건의 발단은 어느 날 윈도로 부팅하면서부터였다. 윈도로 들어가서 즐겁게 IP 설정을 바꾸고 있었는데 갑자기 화면이 파래지면서 컴퓨터가 동작하지 않는다. 뭔가 해서 다시 부팅해 보았더니, 일단은 괜찮아지는 것 같았다. 진짜 문제는 다시 리눅스로 들어가서였는데, 부팅 화면에 퍼런 줄이 가지를 않나, KDE를 잘 쓰는 중에 갑자기 배경이 번쩍이면서 다운되는 등 참 다양했다.

다행히도 다시 부팅했을 때 커널 메시지를 얻을 수 있었다.

Feb 10 12:08:59 saebyuk kernel: [82830.522183] NVRM: Xid (0001:00): 13, 0003 00000000 00008297 00001b0c 1000f010 00000001
Feb 10 12:08:59 saebyuk kernel: [82830.632358] NVRM: Xid (0001:00): 13, 0001 00000000 0000502d 0000083c ffffff01 00000004
Feb 10 12:09:30 saebyuk kernel: [82860.885034] NVRM: Xid (0001:00): 13, 0001 00000000 00005097 0000194c 00000000 00000100
Feb 10 12:09:30 saebyuk kernel: [82860.969370] NVRM: Xid (0001:00): 13, 0001 00000000 00005039 00000328 00000000 00000002
Feb 10 12:09:30 saebyuk kernel: [82861.054352] NVRM: Xid (0001:00): 13, 0001 00000000 00005039 00000328 00000000 00000002
Feb 10 12:09:30 saebyuk kernel: [82861.138149] NVRM: Xid (0001:00): 13, 0001 00000000 00005039 00000328 00000000 00000002
Feb 10 12:09:30 saebyuk kernel: [82861.224289] NVRM: Xid (0001:00): 13, 0001 00000000 00005039 00000328 00000000 00000002
Feb 10 12:09:30 saebyuk kernel: [82861.306794] NVRM: Xid (0001:00): 13, 0001 00000000 00005039 00000328 00000000 00000002

아니 이게 무슨 소리인가! NVRM이 고자라니! X.org 로그에는 단서가 될 만한 말들이 없어서 그냥 이 커널 메시지를 가지고 구글에 검색해 보았더니, 드라이버 문제가 된다는 말 빼고는 명확한 답을 들을 수 없었다. 마침 머릿속에 떠오른 건 8400M/8600M 결함에 관한 이야기였고, 왠지 이게 답일 것 같아서 델 콜센터에 전화를 때렸다.

나베르 지식KiN에서 델 콜센터로 검색을 해 보니 웬 짱깨가 받는다는 말을 해서 처음에는 잔뜩 긴장한 채로 전화를 했다. 참고로 델 개인용 콜센터 전화번호는 080-200-3800, 기업용 콜센터 전화번호는 080-854-0006이다. 델에서 전화가 오면 02-38xx 국번으로 시작하는 전화가 온다. 하여간 델 홈페이지에서 이 정보를 찾지 못해서 한참을 헤매다가 일단 개인용 콜센터로 전화를 걸어 보았다.

전화를 걸게 되면 일단 고객 구분을 물어보고, 그 다음 데스크톱인지 노트북인지를 물어본다. 그 다음 콜센터 직원에게 전화를 돌려준다. 일단 직원이 전화를 받으면, 증상을 이야기하고 서비스 태그 번호를 알려주면 된다. 불행인지 다행인지 내 서비스 태그 번호는 기업용 제품에 해당한다고 해서 기업용 콜센터 번호를 알려 주었고, 그래서 두 번째 번호로 전화를 다시 해 보았다.

역시나 비슷한 과정이 반복되며, 콜센터 직원이 문제를 파악했으면 기사를 불러 줄 주소를 불러달라고 한다. 때때로 문제를 파악하지 못했으면 진단 부트 모드로 들어가 보라고 한 다음, 오류 코드를 불러 달라고 한다. 진단 부트 모드에서는 자체 테스트 프로그램을 실행시키며, 여기에서 나오는 오류 코드로 대략적인 고장 증상을 파악할 수 있다.

하여튼 내 경우에는 그래픽 카드 문제였기 때문에 메인보드를 교체해 주겠다는 말을 들었고, 바로 다음날 기사를 불러 주겠다고 했다. 그리고 약속대로 내일 기사가 학교 기숙사 쪽으로 찾아왔다. 물론 메인보드를 들고 왔다.

내 문제에 대해서 난 어느 정도 배경 지식이 있었기 때문에 일단 새 메인보드부터 닥치고 확인해 봤다. 그래픽 카드의 파트 번호는 “G86-631-A2″라고 쓰여 있었다. 그리고 바이오스 A13 보드 리비전 A00이라고 포장지에 쓰여 있었다. 바이오스 A13은 지금은 삭제되긴 했지만 저 문제가 터지고 나서 나왔던 것이기 때문에 일단 제대로 된 부품이 들어 있는 보드라고 추정된다.

몇 분 쯤 기다리다 보니 기사가 메인보드를 해체하였다. 그리고 새 메인보드를 끼우는 동안 옛날 메인보드를 감상해 보았다. 예상대로 그래픽 칩셋은 G86-630-A2가 들어 있었다. 확실히 그래픽 칩셋의 종류가 바뀐 건 맞다.

과거 메인보드의 GPU

과거 메인보드의 GPU. G86-630-A2에 주목.

여튼 이게 끝나고 나서 노트북을 다시 조립하였고, 기사는 서비스 태그를 설정하고 갔다. 델 노트북의 서비스 태그는 시리얼 번호와 같은 것이다. 이 번호를 가지고 모델명이나 보증 기간 같은 정보를 조회해 볼 수 있다. 기사가 가고 나서 수리 확인서를 살짝 보다가 역시 델이 본좌라는 것을 느낄 수 있었다.

델 장애 지원 확인서

델 장애 지원 확인서. 운영체제 란을 주목하면 된다.

여튼 난 저 점 하나 때문이라도 델 서비스에 후한 점수를 주고 싶다.