리눅스에서 Brother ADS-4700W 스캔 속도 4.6배 높이기

1. 증상 — 맥보다 유독 느린 스캔

리눅스(Omarchy)에서 Brother ADS-4700W 문서 스캐너로 종이를 다 읽고 나서 컴퓨터로 전송되는 단계가 답답하게 느렸다. 같은 스캐너를 맥의 브라더 전용 앱(iPrint&Scan)으로 쓸 땐 이 정도로 느리지 않았다. 하드웨어는 그대로인데 OS만 바꿨더니 느려진 셈이라, 원인은 소프트웨어 경로에 있을 가능성이 컸다.


2. 처음 의심한 두 가지

① “2.4GHz 신호가 약하거나 혼잡한 탓?” — 사실 처음 Claude Code(Opus)에게 분석을 맡겼을 때 돌아온 답도 딱 여기까지였다: “Wi-Fi가 불안정하고 전송 속도가 들쭉날쭉하다.” 핑을 재보면 바닥은 ~3ms인데 가끔 30~130ms로 튀니(약간의 지터·절전모드) 그럴듯한 진단이긴 했다. 그런데 정작 공유기에서 본 신호는 -40dBm(아주 강함)이었다 — 신호가 약하긴커녕 오히려 아주 좋은데도, 왜 들쭉날쭉한지는 그 분석만으로는 설명되지 않았다.

② “그럼 5GHz로 옮기면 빠르지 않을까?” — 2.4GHz가 의심스러우니 자연히 따라온 다음 생각이었다. 하지만 ADS-4700W의 무선은 2.4GHz 전용(IEEE 802.11b/g/n)이라 5GHz 라디오 자체가 없다(그건 상위 모델 ADS-4900W). 공유기(UniFi)에서 무슨 짓을 해도 5GHz로는 못 붙는다.

게다가 Claude Code(Opus)는 줄곧 “유선 랜을 깔아라”를, 그게 거의 유일한 해법인 양 밀어붙였다. 그래서 정말 그래야 하나 싶기도 했다.


3. 리눅스에서 ADS-4700W로 가는 길은 세 갈래

리눅스에서 이 스캐너에 접근하는 백엔드는 세 가지다. 무엇으로 붙느냐가 속도를 가른다.

백엔드 정체 ADS-4700W
brscan4 브라더 구형 독자 드라이버 ❌ 모델 DB가 ADS-2500W 세대까지 — 미지원
sane-airscan eSCL/AirScan (driverless) ✅ 잡힘 — 기본 경로, 그런데 느림
brscan5 브라더 신형 독자 드라이버 △ 모델 목록엔 없지만 generic으로 붙음 (아래)

리눅스에서 별다른 설정 없이 스캐너 앱을 켜면 기본값인 sane-airscan(eSCL)으로 붙는다. 그리고 굼떴던 게 바로 이 기본 경로다. 그렇다면 느림의 원인은 이 백엔드 때문일까, 아니면 정말 무선 때문일까? 답을 가리는 방법은 간단하다 — 무선은 그대로 둔 채 백엔드만 brscan5로 바꿔 같은 조건에서 다시 재보면 된다.


4. brscan5 설치 — Arch Linux/Omarchy

brscan5라는 선택지는 처음부터 떠오른 게 아니었다. Claude Code(Opus)의 초기 분석은 무선 탓에 머물러 있었는데, 같은 질문을 Hermes Agent(GPT-5.5 연결)에게 던졌더니 거기서 brscan5를 짚어줬다. 그 단서를 다시 Claude Code로 가져가 “brscan5는 어떠냐”고 물으니, 그때부터 설치·등록·벤치마크까지 일사천리로 풀렸다 — 두 에이전트의 교차 검증이 길을 텄다.

brscan5는 공식 저장소엔 없고 AUR에 있다. 설치하고 네트워크 장치로 등록한다.

yay -S brscan5

# 스캐너를 네트워크 장치로 등록 (IP는 공유기에서 고정 할당 권장)
sudo brsaneconfig5 -a name=ADS4700 model="ADS-4700W" ip=192.168.0.50

scanimage -L     # `brother5:net1;dev0` 로 잡히면 성공

여기서 작은 반전 — brscan5의 모델 DB에는 ADS-4700W가 없다(1.6.2·1.7.0 패키지의 모델 파일이 바이트 단위로 동일하고, 아는 ADS는 1200/1700W/2400N/2800W/3000N/3600W까지뿐이다). 그런데도 위처럼 등록하면 generic 프로파일로 포트 54921의 독자 프로토콜에 정상으로 붙는다. scanimage -A로 옵션을 물어보면 100~1200dpi, 컬러, ADF 양면까지 스캐너가 실제 capabilities를 돌려준다. 컬러 양면 300dpi 출력물도 앞뒤 정상으로 나오는 걸 직접 확인했다.


5. 벤치마크 — 같은 무선에서 eSCL vs brscan5

같은 종이 10페이지를, 300dpi·컬러·ADF 양면으로, 두 백엔드에 각각 한 번씩 통과시켰다. 둘 다 지금 그대로 같은 2.4GHz Wi-Fi 위에서 돈다 — 그래야 “프로토콜 차이”만 분리된다.

# eSCL (sane-airscan)
scanimage -d 'airscan:e0:Brother ADS-4700W [...]' \
  --mode Color --resolution 300 --source 'ADF Duplex' \
  --format=pnm --batch=/tmp/escl_%d.pnm

# brscan5 (Brother 독자)
scanimage -d 'brother5:net1;dev0' \
  --mode '24bit Color[Fast]' --resolution 300 \
  --source 'Automatic Document Feeder(center aligned,Duplex)' \
  --format=pnm --batch=/tmp/br_%d.pnm

eSCL 54.8초 vs brscan5 11.9초, 4.6배 빠름

항목 eSCL (sane-airscan) brscan5 (독자)
10페이지 총 시간 54.8초 11.9초
페이지당 5.48초 1.19초
실효 속도 46.9 Mbps 216 Mbps
출력 해상도 2550×4200 (동일) 2550×4200 (동일)

같은 링크·같은 종이·같은 해상도인데 brscan5가 4.6배 빠르다. 즉 병목은 2.4GHz 무선이 아니라 sane-airscan/eSCL의 비효율이었다 — 페이지별 HTTP 요청·상태 폴링·약한 파이프라이닝이 굼뜸의 정체다. 브라더 독자 프로토콜은 같은 무선에서도 ADF 페이지를 훨씬 효율적으로 스트리밍한다. 맥 전용 앱이 빨랐던 것도 결국 같은 독자 프로토콜을 쓰기 때문이었을 것이다.


6. 무엇을 고를까 — 그리고 느린 항목 숨기기

GNOME Document Scanner(Simple Scan)를 켜면 스캐너가 여러 개로 보인다. “Brother ADS4700”(brscan5)을 고르면 빠르고, “eSCL Brother ADS-4700W […]”는 느린 쪽이다. 헷갈리는 느린 eSCL 항목을 아예 목록에서 숨기려면 /etc/sane.d/airscan.conf[blacklist]에 한 줄 추가한다(brscan5엔 영향 없다).

[blacklist]
name = "Brother ADS-4700W*"

그러면 문서 스캐너는 빠른 brscan5 항목 하나만 남는다.


7. 마치며

“스캔이 느리다 → 무선 탓”이라 단정하기 쉬웠다. 실제로 핑도 튀었으니 그럴듯한 범인이었다. 하지만 같은 링크에서 백엔드만 바꿔 한 번 측정하니 범인이 깔끔하게 갈렸다 — 무선은 무죄, eSCL이 범인. 유선 랜을 깔거나 5GHz를 쫓는 대신, 드라이버 한 줄 바꿔서 4.6배를 얻었다. 교훈은 늘 같다: 추측하지 말고 측정하기.

환경: Omarchy(Arch Linux) · Brother ADS-4700W (PC는 유선, 스캐너는 2.4GHz Wi-Fi, 신호 -40dBm) · sane-airscan(eSCL) vs brscan5 1.6.2 · 10페이지 300dpi 컬러 양면 · 측정일 2026-06-21


외전 — 윈도우 가상머신에서 전용 앱으로

Claude Code가 이 문제들을 붙들고 있는 동안, 나는 옆에서 다른 길도 찔러봤다. Omarchy가 기본으로 제공하는 윈도우 가상머신을 띄우고, 거기에 Brother iPrint&Scan(브라더 전용 앱)을 깔아 본 것이다. 스캐너가 자동으로 잡히진 않았지만 IP를 직접 넣으니 곧장 붙었고, 전송 속도도 빨랐다. 게다가 전용 앱이라 빈 페이지 감지·자동 크롭 같은 후처리까지 알아서 잘 됐다. 솔직히 — 앞으로 스캔할 일이 생기면 그냥 윈도우 VM을 띄워서 하게 될 것 같기도 하다.

Sun, 21 Jun 2026 23:00:00 +0900