몇년 전 삼성 SL-M2027을 구매했습니다.
구매할 당시엔 PC에 바로 연결해서 사용할 것이고 네트워크 프린터로 굳이 사용할 이유가 없다고 생각했었어요.
출력할 문서가 필요하면 USB 연결해서 출력하면 되는거니까요.
저 처럼 조금 더 저렴하게 구매하려고 USB 모델로 구매한 경우 이면서 이후에 네트워크를 통해 출력하고 싶을 때 이 글이 도움이 될 것 같습니다.
제가 겪었던 경험을 공유하려고 합니다.
시도 했던 방법
1. 프린터 공유
프린터 속성에서 공유하는 방법. 프린터 공유를 검색하면 쉽게 찾을 수 있는 방법인데, 공유하는 PC가 켜져 있어야 동작하기 때문에 이 방법은 얼마 쓰지 않았습니다.
2. 시놀로지 NAS에 USB로 연결 (실패)
제가 생각한 제일 이상적인 방법이 있으나 최종적으로 실패하였습니다. (이미 NAS는 사용중이고 연결만 하면 되는데...) 시놀로지 운영체제 DSM은 리눅스 기반이고 USB로 연결하면 인식은 됩니다. CUPS가 설치된 것을 보고 드라이버만 설치되면 가능할 거라고 판단했는데, 적합한 드라이버를 찾을 수가 없었습니다. 또 CUPS 관리자 화면을 설정에서 활성화 하더라도 소스파일은 포함시켜두지 않았더군요.
3. Raspberry Pi 활용
결과적으로 이 방법으로 정착했습니다. 집에서 놀고 있는 Raspberry Pi를 활용하였습니다. CUPS를 설치하고 드라이버를 설치하고 라즈베리가 프린터 서버가 되는 형태입니다. (이럴바엔 네트워크 프린터를 구매하는 것이 좋다는 생각이 드네요)
작업 하기
1. Raspberry Pi 준비, 초기 환경 설정
이 글의 포인트는 네트워크 프린터로 만드는 것이기 때문에 라즈베리 초기 세팅부분은 항목만 나열하겠습니다.(구글을 통해 쉽게 정보를 얻을 수 있습니다)
- 초기 비번 변경, hostname, timezone, 무선랜 설정(무선세팅이라면), 용량 확장, 업데이트
2. CUPS 설치 및 설정
- CUPS 설치
# 설치
$ sudo apt install cups
# 그룹에 사용자 추가
$ sudo usermod -a -G lpadmin pi
- CUPS 관리자 웹 접속 가능하도록 수정
# 설정 수정
sudo nano /etc/cups/cupsd.conf
# 접속 가능한 IP 대역 추가 (아래 코드 참고하여 해당 블럭에 추가)
Listen *:631
Allow 192.168.0.*
WebInterface Yes
아래 내용도 추가해줍니다
(설정은 버전과 구성을 하기 나름이기 때문에 각자 상황에 맞게 설정이 필요합니다.)
# Restrict access to the server...
<Location />
Order allow,deny
Allow 192.168.0.*
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow 192.168.0.*
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow 192.168.0.*
</Location>
# Restrict access to log files...
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow 192.168.0.*
</Location>
서비스 재시작
# 서비스 재시작
sudo service cups restart
3. 프린터 드라이버 설치
여기서 이야기하는 드라이버는 CUPS에 SL-2027 프린터 드라이버를 설치(라고 표현하겠습니다.) 하는 과정입니다.
이것이 가능하겠다. 라고 판단했던 글입니다.
www.reddit.com/r/linuxadmin/comments/cvt23c/print_via_rpi_cups_with_samsung_m2026_very_cheap/
삼성에서 공식적으로 ARM 프로세스용, 리눅스 드라이버를 제공하지 않기 때문에 SpliX에서 배포하는 드라이버를 활용하였습니다.
라즈베리파이에 모니터를 연결하거나 SSH 로 작업하면 됩니다.
# git 설치
$ sudo apt install git
# Install libscup2-dev
sudo apt install libcups2-dev
# splix 소스 clone
$ git clone https://gitlab.com/ScumCoder/splix.git
$ cd splix
# Compile Splix with uneccessary algorithm disabled (not needed and bugged for me)
$ sudo make DISABLE_JBIG=1
# Run install script, which will place all needed binaries into cups/filter etc...
$ sudo make install
4. CUPS 프린터 추가
CUPS가 설치 된 프린터 서버 아이피를 브라우저로 접속해봅니다. 라즈베리나 같은 망 대역에 있는 PC로 작업하시면 됩니다.
변경하지 않았다면 기본 포트는 631 이고 CUPS 설치 및 설정이 잘 되었다면 접속이 됩니다.
저의 경우는 위 설정대로 했을 때 https://192.168.0.20:631 이고 192.168.0.xx 대역에서 접속이 가능합니다.
상단 메뉴 중 Administration을 들어가면 프린터를 관리할 수 있습니다. Add Printer를 눌러 추가해줍니다.
파일 선택을 누르고 컴파일 된 파일을 선택합니다. 라즈베리파이에서 컴파일 한 프린터 드라이버 파일을 다운받아서 추가해주었습니다.
(ARM 환경에서 컴파일된 드라이버를 추가해주는 작업입니다.)
이제 같은 네트워크상에 있는 노트북, 맥, PC, 스마트폰 등 다양한 기기에서 출력이 가능해집니다.
최근에 나온 SL-M2030 역시 유사 제품군이기 때문에 가능하지 않을까 생각합니다.
감사합니다.