MP640/Canon on linux+CUPS

At your own risk.

  • MP640のネットワーク接続設定を済ましておき、MP640の電源を入れておく(UDP/8611で通信確認を行なって認識する模様)。
  • CANONサイトからdebパッケージ(cnijfilter-mp640series-3.20-1-i386-deb.tar.gz)を取得。
  • deb系なのに、rpmもインストールしてあると、 「Error! Cannot specify package management system.」と言われて前に進めない。で、以下のようにrpmコマンドチェック部分を失敗するように変更しておく。
    --- install.sh.dist
    +++ install.sh
    @@ -1202,7 +1202,7 @@
            local c_system_deb=""
     
            ## Judge is the distribution supporting rpm? ##
    -       rpm --version 1> /dev/null 2>&1
    +       rpm-notuse --version 1> /dev/null 2>&1
            c_system_rpm=$?
     
            ## Judge is the distribution supporting dpkg(debian)? ##
    
  • amd64の場合、i386のdebパッケージを無理矢理いれるために、下記のように「--force-architecture」を付ける
    --- install.sh.dist
    +++ install.sh
    @@ -1356,7 +1356,7 @@
                    local c_fpath_pkg_name=$1
     
                    ## result -> 0:Install process complete, 1:Install process depend error ##
    -               C_FUNC_show_and_exec "sudo dpkg -iG $c_fpath_pkg_name"
    +               C_FUNC_show_and_exec "sudo dpkg --force-architecture -iG $c_fpath_pkg_name"
                    if [ $? != 0 ]; then
                            return $C_ERR_CODE
                    fi
    
  • iptables等でパケットフィルタ設定してある場合、UDP/8611,TCP/8611ポート出力を許可しておく。
    $ sudo iptable -A OUTPUT -p udp -m udp --dport 8611 -j ACCEPT
    $ sudo iptable -A OUTPUT -p tcp -m tcp --dport 8611 -j ACCEPT
    
  • installスクリプトをroot権限で実行
    $ sudo ./install.sh
    ==================================================
    
    Canon Inkjet Printer Driver Ver.3.20-1 for Linux
    Copyright CANON INC. 2001-2009
    All Rights Reserved.
    
    ==================================================
    Execution command = sudo dpkg --force-architecture -iG ./packages/cnijfilter-common_3.20-1_i386.deb
    dpkg: warning: overriding problem because --force enabled:
    パッケージアーキテクチャ (i386) がシステム (amd64) と一致しません
    未選択パッケージ cnijfilter-common を選択しています。
    (データベースを読み込んでいます ... 現在 286658 個のファイルとディレクトリがインストールされています。)
    (.../cnijfilter-common_3.20-1_i386.deb から) cnijfilter-common を展開しています...
    cnijfilter-common (3.20-1) を設定しています ...
    Execution command = sudo dpkg --force-architecture -iG ./packages/cnijfilter-mp640series_3.20-1_i386.deb
    dpkg: warning: overriding problem because --force enabled:
    パッケージアーキテクチャ (i386) がシステム (amd64) と一致しません
    未選択パッケージ cnijfilter-mp640series を選択しています。
    (データベースを読み込んでいます ... 現在 286674 個のファイルとディレクトリがインストールされています。)
    (.../cnijfilter-mp640series_3.20-1_i386.deb から) cnijfilter-mp640series を展開しています...
    cnijfilter-mp640series (3.20-1) を設定しています ...
    
    ## Driver packages installed. ##
    
    #=========================================================#
    #  Register Printer
    #=========================================================#
    Next, register the printer to the computer.
    Connect the printer, and then turn on the power.
    To use the printer on the network, connect the printer to the network.
    When the printer is ready, press the Enter key.
    > CR
    #=========================================================#
    #  Connection Method
    #=========================================================#
     1) USB
     2) Network
    Select the connection method.[1]2CR
    
    Searching for printers...
    
    
    #=========================================================#
    #  Select Printer
    #=========================================================#
    Select the printer.
    If the printer you want to use is not listed, select Update [0] to search again.
    To cancel the process, enter [Q].
    -----------------------------------------------------------
     0) Update
    -----------------------------------------------------------
    Target printers detected (MAC address  IP address)
    1) Canon MP640 series (xx-xx-xx-xx-xx-xx x.x.x.x)
    -----------------------------------------------------------
    (Currently selected:[1]Canon MP640 series (xx-xx-xx-xx-xx-xx x.x.x.x))
    Enter the value. [1]CR
    
    #=========================================================#
    #  Printer Name
    #=========================================================#
    Enter the printer name.[MP640LAN]CR
    Execution command = sudo /usr/sbin/lpadmin -p MP640LAN -m canonmp640.ppd -v cnijnet:/00-1E-8F-5A-F6-2D -E
    
    #=========================================================#
    #  Set as Default Printer
    #=========================================================#
    Do you want to set this printer as the default printer? (yes/no) [yes]CR
    
    #=========================================================#
    Installation has been completed.
    Printer Name : MP640LAN
    Select this printer name for printing.
    #=========================================================#