잘못된 인수-업그레이드 후 Brother 스캐너가 작동하지 않음 (brscan2 드라이버)


31

최근에 Ubuntu 13.10 (Saucy)을 업그레이드했습니다.

내 MFC-420CN을 통한 스캔은 우분투에서 작동했으며 Linux Mint는 Olivia와 Oneric을 통해 설치됩니다. 그러나 일단 이것에서 업그레이드하면 스캔이 중단되었습니다. 업그레이드와 관련이 없는지 확인하기 위해 새로운 사본을 설치했습니다.

Brother의 웹 사이트는 모든 brscan1 모델이 더 이상 Ubuntu 11.10부터 USB 스캔을 지원하지 않지만 brscan2 및 brscan3 모델에는 적용되지 않는 것으로 나타났습니다. 또한 적어도 brscan4 모델이 현재 작동하고 있음을 나타내는 것으로 보이는 다른 게시물여러 개 있습니다. 그러나 brscan2 (또는 brscan4 이외의 다른 다이버)를 사용하는 스캐너를 확인할 수 없었으며 우분투 13.10 (실제로는 12.10 이상)이 작동하고 있습니다.

상호 참조 / 문제를 타인을 돕기 위해 brscan2 스캐너의 전체 목록은 다음과 같습니다.

DCP-110C DCP-115C DCP-117C DCP-120C DCP-130C DCP-135C DCP-150C DCP-153C DCP-155C DCP-310CN DCP-315CN DCP-330C DCP-340CW DCP-350C DCP-353C DCP-357C DCP- 540CN DCP-560CN DCP-7010 DCP-7020 DCP-7025 DCP-750CW DCP-770CW DCP-8060 DCP-8065DN MFC-210C MFC-215C MFC-230C MFC-235C MFC-240C MFC-260C MFC-3240C MFC-3340CN MFC -3360C MFC-410CN MFC-420CN MFC-425CN MFC-440CN MFC-465CN MFC-5440CN MFC-5460CN MFC-5840CN MFC-5860CN MFC-620CN MFC-640CW MFC-660CN MFC-665CW MFC-680CN MFC-685CW MFC-7220 MFC-7225N MFC-7420 MFC-7820N MFC-820CW MFC-845CW MFC-8460N MFC-8660DN MFC-8670DN MFC-885CW MFC-8860DN MFC-8870DW MFC-9420CN

이전에 요청한 비슷한 질문 / 문제 (brscan3 드라이버 하드웨어의 경우) :


지금까지 나는 시도했다 :

  • Sane-Utils 설치

  • dpkg -f 플래그 사용을 포함하여 brscan2 설치와 관련하여 형제의 웹 사이트에서 발췌

  • 포함 할 /lib/udev/rules.d/40-libsane.rules 편집

암호:

# Brother scanners

ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"
  • lib에서 lib64로 파일 복사 :

암호:

cd /usr/lib
ln -s ../lib64/libbrscandec2.so.1.0.0 .
ln -s ../lib64/libbrcolm2.so.1.0.1 .
ln -s ../lib64/libbrcolm2.so .
ln -s ../lib64/libbrscandec2.so.1 .
ln -s ../lib64/libbrscandec2.so .
ln -s ../lib64/libbrcolm2.so.1
cd sane
ln -s ../../lib64/sane/libsane-brother2.so.1.0.7 .
ln -s ../../lib64/sane/libsane-brother2.so.1 .
ln -s ../../lib64/sane/libsane-brother2.so .
  • ia32-libs 설치 및 sane-utils 설치 반복
  • 64 비트 brscan2 드라이버를 제거하고 32 비트 드라이버로 교체했지만 USB 또는 네트워크 모드에 대해 32 비트 드라이버 설정으로 스캔 이미지의 결과는 유망하지 않았습니다.

암호:

# scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
  • WINE에서 Win2000 또는 XP를 지원하는 32 비트 Windows 드라이버 중 거의 2000 년에 완료됩니다.

64 비트 드라이버 디버깅 :

brscan2를 설치하면 간단한 스캔을 열고 스캐너를 찾을 수 있습니다. 또한 스캔 이미지 출력은 모든 것이 정상임을 나타냅니다.

# scanimage -L
device `brother2:bus5;dev2' is a Brother DCP-350C USB scanner

그러나 (루트 사용자 일지라도) 스캔은 여전히 ​​작동하지 않습니다.

> sudo scanimage >image.pnm
scanimage: open of device brother2:bus2;dev4 failed: Invalid argument

xsane은 비슷한 오류를 생성합니다.

 Failed to start scanner: Invalid argument

제정신 찾기 - 스캐너가 여기에 표시 파이프 오류가 발생합니다 : http://pastebin.com/tTNMyD1m 하지만 그 형제 드라이버가 아닌 제정신을 제공한다는 사실에 관한 것 같습니다.

나는이 시점에서 꽤 붙어있어 도움을 주시면 감사하겠습니다.


sane-find-scanner의 결과를 무시할 수 있음을 나타내는이 링크를 찾았습니다. 잘못된 인수 오류에 집중해야합니다. linuxquestions.org/questions/slackware-14/…
virtualxtc

참조 . additionaly을 추가 할 수 있습니다 brother-lpr-drivers-mfc9420cnbrother-cups-wrapper-mfc9420cn

@ -dev 패키지를 제외하고 @DuminduMahawela는 "스캐너 드라이버"를 모두 설치했습니다.
virtualxtc

도움을 요청하기 위해 형제에게 이메일을 보냈으며 업데이트가있는 경우이 질문을 참조했습니다. 형제는 나의 표를 인정했지만, 내가 얻은 모든 것은 죽은 공기입니다. 제정신 호환성 목록 에 따라 다른 프린터 스캐너를 구입했습니다 .
virtualxtc

이 페이지의 "솔루션"섹션이 도움이 될까요? bugs.launchpad.net/ubuntu/+source/xsane/+bug/478761
sabik

답변:


23

13.10으로 업데이트 한 후 스캔 할 때 동일한 오류가 발생했습니다. 여기에는 두 가지 문제가 있습니다.

  1. 오류 잘못된 인수 는 인수 문제가 아니지만 쓰기 액세스 문제입니다.
  2. 다른 문제는 버스 및 개발자 번호가 scanimage 오류에서 잘못되었다는 것입니다.

문제를 찾아서 해결하는 방법?

형제 웹 사이트에서 brscan4 드라이버 설치

sudo dpkg -i brscan4-0.4.2-1.amd64.deb

작동하는지 확인

sudo brsaneconfig4 -d

스캐너가 설치되어 있는지 테스트하십시오 (스캐너 전원을 켜야 함). 그리고 루트가 아닌 사용자로 실행

$ scanimage -L
device `brother4:bus5;dev1' is a Brother ADS-2000 USB scanner
$ scanimage --test
scanimage: open of device brother4:bus5;dev1 failed:
Invalid argument

또는

$ scanimage
scanimage: open of device brother4:bus5;dev1 failed:
Invalid argument

다음 스크립트를 사용하여 스캐너의 권한을 업데이트 할 수 있습니다.

lsusb | grep -i brother | sed 's/://' | awk '{printf "/dev/bus/usb/%s/%s", $2,$4}' | xargs -i -t sudo chmod 666 "{}"

lsusb USB 장치 목록

grep -i brother 형제 장치를 찾을 수 있습니다 (내가 만든 가정은 한 번에 하나의 형제 장치 만 USB에 연결되어 있다는 것입니다)

sed 's/://' | awk '{printf "/dev/bus/usb/%s/%s", $2,$4}' 버스 및 장치 번호를 찾을 수 있습니다

xargs -i -t sudo chmod 666 "{}" 스캐너에 쓰기 권한을 추가합니다

위의 작업을 수행 한 이유에 대한 자세한 정보는 다음과 같습니다.

Brother 스캐너가 버스에서 어디에 있는지 확인하려면 사용하십시오 lsusb. 이것은 스캔 이미지의 문제 중 하나입니다. 버스는 003이고 장치는 002이며 버스 5는 아닙니다. 스캔 이미지 당 dev 1

$ lsusb
Bus 003 Device 002: ID 04f9:60a0 Brother Industries, Ltd**  
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...

문제를 해결하려면 lsusb명령 에서 형제 스캐너의 위치에 따라 경로를 사용해야합니다 . 내 경우에는 그것은했다 bus 003device 002. USB 케이블을 스캐너에서 분리했다가 다시 장치에 연결하면 새 번호 및 / 또는 버스가 제공됩니다. (PC를 재부팅하면 숫자가 다시 2로 돌아갑니다)

예 :

sudo cd /dev/bus/usb/003
sudo chmod 666 002

또는 그냥 :

sudo chmod 666 /dev/bus/usb/003/002

Scanimage 올바른 버스와 개발자 번호를 갖기 위해 스캐너에 액세스 할 수 없을 때 메시지를 수정하고 문제가 쓰기 액세스 문제라고 사용자에게 알려야합니다.

Brother글로벌 사용자가 스캐너, 즉 chmod 666스캐너 드라이버 위치에 쓸 수 있도록 드라이버 코드를 업데이트해야합니다.


누구든지이 수정 사항을 확인할 수 있습니까? 다행히도 질문을 게시하고 새 (SANE 호환) 스캐너를 구입 한 후 한 달 만에이 스캐너를 책상에서 떨어 뜨 렸습니다. Mark / Dan은 다양한 문법 문제로 인해 여전히 답이 불분명합니다.
virtualxtc

1
이 답변의 외모는 정말의 출력으로 약속 lsusbscanimage -L다른 dev에 / 버스 번호를 보여줍니다. /dev/bus/usb/...파일 에 대한 권한 을 아무 소용이 없도록 시도했습니다. OS가 스캐너의 올바른 USB 버스 / 개발 번호를 보도록하는 다른 방법이 있습니까?
David Thomas

이것은 효과가 있었다. 답변을 변경하고 부팅 한 후 xsane미리보기를 처음 시도 할 때 "스캐너를 시작하지 못했습니다"오류가 발생합니다. 그러나 다시 시도하면 효과가 있습니다. 이제 스캔 할 수 있습니다! :)
jja

2
그것은 나를 위해 그것을
고치지

1
이 솔루션은 Lubuntu 16.04 및 Brother DCP-7030과 함께 작동했습니다. 그러나 재부팅 후 모든 권한이 재설정됩니다. udev 규칙이 필요한 것 같습니까?
Xavier13

3

lp 그룹에 사용자를 추가하기 만하면됩니다 ...

usermod -a -G lp username

이와 같이 스캐너에 대한 쓰기 권한이 있습니다.

로 테스트 :

  • 14.04 LTS 64 비트 최신
  • 형제 DCP-J315W
  • Brother 지원 센터에서 다운로드 한 linux-brprinter-installer-2.0.0-1

/ dev / bus / usb / 001에서 프린터 / 스캐너에 대한 권한은 다음과 같습니다.

crw-rw-r-- 1 root lp

lp 그룹에 사용자 이름을 추가하는 것이 해결책입니다.


'#'으로 표시된 것처럼 명령을 루트로 실행하고 여전히 오류가 발생하므로 위의 오류에 대한 해결책은 아닙니다.
virtualxtc

1
support.brother.com/g/s/id/linux/en/…에 제안 된대로 라이브러리를 / usr / lib64에서 / usr / lib로 복사했거나 ln -s와 연결 했습니까 ?
Bellera

AskUbuntu에 오신 것을 환영합니다.-일반적으로이 문서에 대해 -1 문서를 작성했음을 명심하십시오 : 귀하가 내 질문을 읽은 경우, 특히 "지금까지 시도한"부분에 작성된 내용을 읽은 경우 ' 예'. 앞으로 답변하기 전에 전체 질문을 읽으십시오.
virtualxtc

2

VueScan이라는이 프로그램을 사용해보십시오. mfc-420cn 드라이버를 검색하고 있는데이 웹 사이트를 방문했습니다 : " http://www.hamrick.com/ "아직 테스트를 할 수 없었습니다. 먼지를 모으고있는 오래된 프린터의 전원 케이블을 찾으십시오.) 그러나 다양한 프린터를 지원할 것이라고 말 했으므로 게시해야한다고 생각했습니다. 어쨌든 이것이 도움이되기를 바랍니다.


고맙지 만 그 소프트웨어 가격으로 SANE 호환 스캐너를 구입할 수 있습니다! 이 답변은 확인되지 않았으며 "더 나은 스캐너를 구입"보다 약간 더 좋으므로 질문을 열어 두겠습니다.
virtualxtc

1
저의 오랜 경험에서 VueScan은 훌륭합니다. 아마도 대부분의 스캐너 드라이버보다 훨씬 뛰어납니다. 장점은 사진을 스캔하거나 스캔 품질을 정밀하게 제어 할 때 가장 분명합니다. 무료로 다운로드하여 사용해 볼 수 있다고 생각합니다. 장점은 제조업체의 독점 드라이버 제한으로 인해 다시는 어려움을 겪지 않아도된다는 것입니다. 불행히도 이미 지불 한 스캐너를 계속 사용하려면 타사에 비용을 지불해야합니다. VueScan은 오래된 스캐너와 새로운 스캐너에서 잘 작동하기 때문에 많은 사람들이 비용이 가치가 있다고 결정했습니다.
Tommy Trussell

나는이 문제에 대한 모든 수정을 시도하는 데 몇 시간을 보냈으며 (Google의 첫 몇 페이지에서 볼 수 있음) VueScan은 지금까지 유일한 솔루션입니다. 나는 Linux와 함께 Brother 스캐너를 사지 않을 것입니다.
MRule

1

동일한 문제가 발생하여 https://wiki.debianforum.de/Brother_Scanner 에 따르면 프린터가 USB 3 포트 (xhci_hcd로 제어)에 연결된 경우 "잘못된 인수"오류가 발생할 수 있습니다. USB 2 포트 (ehci_hcd로 제어)로 전환하자마자 작동하기 시작했습니다.


이 오류가 발생하는 컴퓨터에 USB 3 포트가 없었습니다.
virtualxtc

0

우분투 13.10 32 비트를 사용하고 있습니다

MFC-7820N을 사용하고 커널을 업그레이드 할 때마다 모든 형제 드라이버를 다시 설치해야합니다. 내가 가지고있는 것 : brmfc7840nlpr-2.0.2-1.i386, brscan2-0.2.5-1.i386, cupswrapperMFC7840N-2.0.2-1.i386

그런 다음 "ATTRS {idVendor} =="04f9 ", ENV {libsane_matched} ="yes ""규칙이 /lib/udev/rules.d/40-libsane.rules에서 수정되거나 삭제되지 않았는지 다시 확인하십시오.

결국 나는 재부팅합니다.

마지막으로, 테스트를위한 추가 측정으로 형제 프린터에 자체 USB 호스트 컨트롤러를 제공합니다.


brmfc7840nlpr-2.0.2-1.i386 및 upswrapperMFC7840N-2.0.2-1.i386은 프린터 드라이버이며이 질문과 관련이 없습니다.
virtualxtc

64 비트 대 32 비트 일 수 있지만 64 비트에서는 문제가 없었습니다. 어떤 커널을 실행하고 있습니까? 다른 사람이 자신이 작동하는지 확인할 수 있습니까?
virtualxtc

1
또한 최근 64 비트 시스템에서 13.10으로 업그레이드했습니다. Brother DCP-135C 스캐너 / 프린터가 작동하기 전에는 작동하지 않습니다. 또한 Brother-lpr-drivers-extra와 충돌하기 때문에 Brother에서 제공 한 이전 드라이버를 설치할 수 없습니다. brother-lpr-drivers-extra를 제거하고 형제가 제공 한 드라이버를 설치해도 여전히 작동하지 않습니다.
ramiro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.