web-dev-qa-db-ja.com

無効な引数-アップグレード後にBrotherスキャナーが機能しない(brscan2ドライバー)

Ubuntu 13.10(Saucy)を最近アップグレードしました。

私のMFC-420CNを介したスキャンはUbuntuで機能しており、OliviaとOnericを介してLinux Mintがインストールされていました。しかし、これらからアップグレードすると、スキャンが失敗しました。 saucyの新しいコピーをインストールして、それがアップグレードに関連するものではないことを確認しました。

ブラザーのウェブサイトでは、すべてのbrscan1モデルがUbuntu 11.10の時点でusbスキャンをサポートしなくなったという通知がありますが、brscan2およびbrscan3モデルには適用されないようです。さらに、少なくともbrscan4モデルが現在動作していることを示すと思われる 複数 その他 投稿 を見つけました。ただし、brscan2(またはbrscan4以外の他のダイバー)を使用してスキャナーを確認できず、ubuntu 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のインストールに関する兄弟のWebサイトの修正

  • /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の結果は期待できませんでした。

コード:

# 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 eumlating Win2000またはXPを備えた32ビットWindowsドライバーのうち、2000年にほぼ完成しました。

64ビットドライバーのデバッグ:

Brscan2をインストールすると、シンプルスキャンを開いてスキャナーを見つけることができます。さらに、scanimageの出力は、すべてが正常であることを示しています。

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

ただし、スキャンは(rootユーザーであっても)それでも機能しません。

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

xsaneは同様のエラーを生成します。

 Failed to start scanner: Invalid argument

sane-find-scannerは、以下に示すパイプエラーを生成します。 http://Pastebin.com/tTNMyD1m しかし、それは兄弟が正気ではなくドライバーを提供しているという事実に関連しているようです。

私はこの時点でかなり立ち往生しています、どんな助けもありがたいです。

31
virtualxtc

13.10に更新した後、スキャン時に同じエラーが発生しました。ここには2つの問題があります。

  1. エラー無効な引数は引数の問題ではありませんが、書き込みアクセスの問題です。
  2. もう1つの問題は、バスとdev番号がscanimageエラーで間違っていることです。

問題を見つけて修正する方法は?

兄弟のWebサイトから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はブラザーデバイスを検出します(一度に1つのブラザーデバイスしかUSBに接続していないと仮定しました)

sed 's/://' | awk '{printf "/dev/bus/usb/%s/%s", $2,$4}'はバスとデバイスの番号を見つけます

xargs -i -t Sudo chmod 666 "{}"はスキャナーに書き込み許可を追加します

上記の処理を行った理由に関する詳細情報を以下に示します

兄弟スキャナーがバスのどこにあるかを調べるには、lsusbを使用します。これはscanimageの問題の1つです。バスは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はスキャナードライバーの場所に

23
Mark

ユーザーをlpグループに追加するだけです...

usermod -a -G lp username

このように、スキャナーの書き込み権限があります。

テスト済み:

  • 14.04 LTS 64ビット最新
  • ブラザーDCP-J315W
  • ブラザーサポートセンターからダウンロードしたlinux-brprinter-installer-2.0.0-1

/ dev/bus/usb/001でのプリンター/スキャナーの許可は次のとおりです。

crw-rw-r-- 1 root lp

このため、ユーザー名をlpグループに追加するのがソリューションです。

3
Bellera

VueScanと呼ばれるこのプログラムを試してみて、私はmfc-420cnドライバーを探していましたが、このウェブサイトに出会いました: " http://www.hamrick.com/ " (まだほこりを集めている古いプリンタへの電源ケーブルをまだ見つけていないためです。)しかし、それは多種多様なプリンタをサポートすると言っていたので、私はそれを投稿すべきだと思いました。とにかく、これが役立つことを願っています。

2
Jade

https://wiki.debianforum.de/Brother_Scanner によると、同じ問題に遭遇しました。プリンターがUSB 3ポートに接続されている場合、「無効な引数」エラーが発生する可能性があります( xhci_hcd)。 USB 2ポート(ehci_hcdで制御)に切り替えるとすぐに動作し始めました。

1
Florian Echtler

Ubuntu 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ホストコントローラーを提供します。

0
Kris