Configure and Troubleshoot Brother MFC-J430w with Linux


Brother MFC-J430w[1] is a wireless network printer and scanner. It connects to my home network as a remote device.

On OpenSuSE 13.1, I use the official drivers[2]. Both Ubuntu 18.04LTS and 20.04 LTS have build-in printer support but need to install the official scanner driver. There are some issues with 20.04LTS.

  1. Setup MFC-J430w
  2. Adding Firewall Rules
  3. Print on Ubuntu 20.04 LTS
  4. Print on OpenSuSE 13.1
  5. Scan on Ubuntu 20.04 LTS
  6. Scan on OpenSuSE 13.1
  7. The Error Code 46 Issue

Setup MFC-J430w

Get the MAC

I have enabled the MAC management on my home router. I need J430w’s MAC and add it to the allow list before connecting.

Use the J430w’s control panel to get its MAC:

[Menu]→[Network]→[MAC Address]

Join the SSID and connect

Use the J430w’s control panel to connect to the router:

[Menu]→[Network]→[Setup Wizard]

Get the assigned IP

Use the J430w’s control panel to get the assigned IP:

[Menu]→[Network]→[TCP/IP]→[IP Address]

It can be found on the router administration tool by comparing the MAC, too.

The IP used in the post is 192.168.1.10

Adding Firewall Rules

Allow these ports[3] for [Scan] on J430w:

  1. Inbound: UDP Port 54925
  2. Outbound: TCP Port 54921

I add these bi-direction rules because the one-way rules don’t work properly. There are more ufw commands to learn[4].

$sudo ufw allow 54925/udp
$sudo ufw allow 54921/tcp

Print on Ubuntu 20.04 LTS

Ubuntu 18.04LTS and 20.04LTS may automatically identify J430w within the same network. But there are some print issues with 20.04LTS,  it fails to print sometimes.

Here is a summarized table to compare:

Ubuntu Kernel Printer Driver CUPS
18.04LTS 4.15.0-99-generic 1.20.2 2.2.7
20.04LTS 5.4.0-29-generic 1.27.4 2.3.1

Issues

CUPS fails to find J430w and would mark unfinished jobs completed. There is a similar bug report.[5]

After several tests, I found it happen when:

  1. J430w is sleeping
  2. Printer connection is changed

Possible error messages and result:

  1. “No suitable destination host found by cups-browsed”.
  2. “No destination host name supplied by cups-browsed for printer “Brother_MFC_J430W’, is cups-browsed running?”.
  3. Job completed but print nothing.

Most can be solved by restarting CUPS to re-initialize the connection:

$sudo systemctl restart cups.service

If it doesn’t help, remove the printer in GNOME Settings. Then turn-off and turn-on the WiFi. A new printer would be installed.

J430w is sleeping

When the printer is in sleep mode, CUPS might unable to communicate. There is a J430w in GNOME Settings but the [Additional Printer Settings…] button shows nothing. Use the built-in administrative tool of CUPS daemon at ‘http://localhost:631/printers’ finds no printer, either.

Solution 1: wake up the printer and restart CUPS. The printer should be identified automatically.

Solution 2: wake up the printer and switch off/on WiFi. The printer should be identified automatically.

If J430w is found but the job is held with “No suitable destination host found by cups-browsed”, the connection is lost. It won’t be able to print even after waking up the printer manually.

It seems to be related to the printer idle time. The longer it is, the fewer chance that CUPS may restore the connection.

Solution 1: wake up the printer and restart CUPS. Release the held job to print in CUPS.

Solution 2: wake up the printer and restart Ubuntu. Release the held job to print in CUPS.

Printer connection is changed

The official document suggests installing LPR printer driver[6] before CUPSwrapper printer driver[7] and modifying the connection string. Both are bad ideas on 20.04LTS.

If I change the default connection to LPD/LPR with ‘lpd://192.168.1.10/binary_p1’, a new network printer would be added. The modified printer won’t print anything but the job is marked as completed.

Restoring the old connection string won’t make it work again.

It makes no difference to modify the “/etc/printcap” file.

Solution 1: delete the modified printer and restart CUPS. The new network printer will be disappeared. CUPS will create a new printer as it founds for the first time.

Solution 2: delete the modified printer and restart Ubuntu. The new network printer will be disappeared. CUPS will create a new printer as it founds for the first time.

Removing installed drivers

Removing official drivers in the following order else it would fail. They are not necessary with 20.04LTS.

$sudo apt-get remove mfcj430wcupsweapper
$sudo apt-get remove mfcj430wlpr

Print on OpenSuSE 13.1

Use the official drivers

  1. Download and install LPR printer driver (rpm package)
  2. Download and install CUPSwrapper printer driver (rpm package)

Configure in YaST

  1. Launch Printer in YaST. “MFCJ430W” is installed in “Printer Configurations”.
  2. [Edit] this configuration.
  3. Use [Connection Wizard] to provide the IP: [Access Network Printer or Printserver Box via]→[TCP Port (AppSocket/JetDirect)]→[IP Address or Host Name].
  4. Change the [Default Paper Size of the Current Driver] if necessary.
  5. Use [Print Test Page] to check.

Scan on Ubuntu 20.04 LTS

Use the official driver

  1. Download and install Scanner driver 64-bit (deb package)[8].

I didn’t install the Scan-key-tool 64bit (deb package)[9] because W430j sometimes fails to communicate. This feature is not important to me.

Configure in terminal

  1. Run the command to configure the scanner:
    $sudo brsaneconfig4 -a name=Brother_Scanner model=MFC-j430w ip=192.168.1.10
    

Scan from XSane

  1. Download and install XSane.
  2. Launch XSane to test. Use [Acquire preview] to preview the scannable area, “Type” to specify the image file type, [floppy disk] icon to assign saved destination, and [Scan] to begin.

Scan on OpenSuSE 13.1

Use the official driver

  1. Download and install Scanner driver 64bit (rpm package).
  2. Download and install Scan-key-tool 64bit (rpm package).

Configure in terminal

  1. Run the command to configure the scanner:
    $sudo brsaneconfig4 -a name=Brother_Scanner model=MFC-j430w ip=192.168.1.10
    
  2. Run the command to start receiving the [Scan] key signal and data from J430w:
    $sudo brscan-skey
    
  3. Run the command to test if the device name is identified:
    $ brscan-skey -l
    Brother_Scanner : brother4:net1;dev0 : 192.168.1.10 Active
    

To remove the existing scanner configuration, run the command:[10]

$sudo brsaneconfig4 -r Brother_Scanner

Scan from Acquireimages

  1. Launch Acquireimages to test.
  2. If it’s not installed, use XSane instead. Follow the instructions to install.[11]
  3. Press [SCAN] button→[Scan to Image]→Choose the account you want to scan to →[OK]→[Start] button → choose [1] if there are more pages or [2] to stop.
  4. GIMP shall be launched and load the scanned image automatically.

Scan from J430w

  1. Run brscan-skey in a terminal.
  2. Use the [Scan] button on W430j and follow the instruction to scan. It creates a new image file in the ~/brscan folder.

* The [Scan] button supports color scan only.

** More commands for brscan-key:[12]

Command Description
start
‘-t’ stop
‘-l’ check the device information

The Error Code 46 Issue

It means the ink absorber pad is full[13]. I have to replace it or reset the counter.

Entering Maintenance Mode

  1. Pull the plug
  2. Press and hold the [Color] button. Plug to power socket at the same time.
  3. When “Maintenance” is displayed on J430w’s screen, release the button.

Reset Error 46

  1. In maintenance mode, press ’80’.
  2. Select [PURGE:000XXX] with [Up]/[Down] buttons.
  3. Enter ‘2783’ to reset. When success, it will display “PURGE: 000000”
  4. Press [Stop] to return to the front page of maintenance mode.
  5. Input ’99’ to quit. The machine will reboot automatically.

Style Guide

Style Description
[reference number] source links are managed in the reference section
[icon, button, and menu item name] clickable or selectable items
“field and label name, messages” fixed text strings
‘input string, command parameters, and url’ user-editable text strings
command, script name, application, file name, and folder name  user commands,  options, and named items
highlight key items and conclusion
<?PHP echo''; ?>
PHP color coding with line numbers
$ls -la
bash in colors

Reference

    1. Brother: MFC-J430w
    2. Brother: MFC-J430w Downloads
    3. Brother: MFC-J430W: FAQs & Troubleshooting
    4. nixCraft: How To Configure Firewall with UFW on Ubuntu 20.04 LTS
    5. Ubuntu: cups package: Problem with printing in 20.04 version
    6. Brother: LPR printer driver (deb package)
    7. Brother: CUPSwrapper printer driver (deb package)
    8. Brother: Scanner driver 64bit (deb package)
    9. Brother: Scan-key-tool 64bit (deb package)
    10. openSUSE: Forum: Thread: Help With Wireless Scanner
    11. openSUSE: xsane
    12. Brother: Command List of brscan. (Linux)
    13. Brother: How do I clear Machine Error 46?

2 thoughts on “Configure and Troubleshoot Brother MFC-J430w with Linux

  1. this tut is very helpfull, but it has an mistake, that made me crazy 😀

    this “brsane-skey” has to be “brscan-skey”.

    Liked by 1 person

    1. Dear Christoph,

      Thank you for your kindly remind. It should help others, too. I appreciate your feedback and help! 🙂

      Have a nice day!

      Best regards,

      Amigo

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.