ArchLinux + Brother MFC 7860DW

Aqui dejo la biblia de la configuración de las impresoras Brother, en Arch Linux. Como siempre, lo dejo aquí, por si a alguien le iteresa.

Esto lo podéis encontrar directamente en la fuente. El mérito es de la persona que lo ha dejado en la siguiente página web:

http://neithere.net/2013/02/18/archlinux_brother_7860.html

ArchLinux + Brother MFC 7860DW

First shalt thou take out the Holy Pin, then shalt thou count to three, no more, no less. Three shall be the number thou shalt count, and the number of the counting shall be three. Four shalt thou not count, neither count thou two, excepting that thou then proceed to three. Five is right out. Once the number three, being the third number, be reached, then lobbest thou thy Holy Hand Grenade of Antioch towards thy foe, who being naughty in My sight, shall snuff it. – Monty Python

I bet you came here because you have a Brother MFC 7860DW (or similar) and it doesn’t work with your ArchLinux box. It is common to spend more time than needed on such tasks because an average human being doesn’t solve them on a daily basis. Below I’ll describe the short path to success (which I wish I had followed from the very beginning) and highlight problems that may arise.

First, let’s define our goal.

The Goal

A local computer can connect to the MFC via network and use both printer and scanner features.

MFC + WiFi

Let’s connect the MFC to your router.

See MFC manual. In short:

  1. Menu → 6 → 2 → 2. Choose the SSID, enter the key.
  2. Go to the router DHCP settings, assign a static IP to this device. Another option is to set a static IP via device menu.

Note

It is best to choose an IP with each block containing exactly three digits. “[…] shalt thou count to three, no more, no less”.

In this article I assume that the MFC is assigned the following address:192.168.000.123 (yes, with 000! Sometimes not necessarily so but anyway).

That’s it! Now open the browser and head to http://192.168.0.123. You’ll see a kind of… um, hypertext content. Consult the manual to access the more or less useful features of this… thing. Or ignore it right away.

Printer

You have yaourt installed, right? Then AUR is at your hands:

$ yaourt -S brother-mfc-7860dw

This will download the Brother’s official drivers for Linux (with cupswrapper), unpack and patch them, generate the PPD and cupswrapper files, and finally install all the stuff. The package also contains brief instructions displayed after a successful setup. This is what worked for me:

$ sudo systemctl start cups
$ sudo padmin -p MC7860DW -E -v socket://192.168.000.123 -P /usr/share/cups/model/MFC7860DW.ppd

It’s that simple, really.

Note

I somehow managed to not notice the package and went as far as to build one myself, of much lower quality — but functional and all. If you stumble upon it in AUR, please give me a favour and ignore it.

Scanner

Yes, you can scan on this device from Linux using the automated feeder.

First, install the drivers:

$ yaourt -S brscan4-network
$ sudo brsaneconfig4 -a name=Brother_MFC-7860DW model=MFC-7860DW ip=192.168.000.123

Now stuff some papers in the ADF and try to scan:

$ scanimage --batch

Wohoo! (If the actually uttered exclamation was not so much of “wohoo” but closer to some kind of you… son of a… ass, see the troubleshooting section. It’s likely that you’ll need to get rid of the “fast” colour mode.)

Troubleshooting

I cannot access the web control panel

Double-check the connection settings. Can you ping the device? Does router see it? Does it have MAC-address filtering? Has it assigned the device a different IP via DHCP? Check the device’s current IP address via Menu → 6 → 2 → 1 → 2.

CUPS recognized the printer but then lost it

Make sure you have specified the IP address with each block having exactly three digits. Yes, 000 instead of 0. Yes, this does matter.

Also check http://localhost:631/ (when it asks for login/password, use root’s, not your ordinary user’s).

The MFC prints “Unable to open the initial device, quitting”

…instead of the job you sent. Well, probably wrong driver. Make sure you’ve chosen the right one or (in case you have a different model and are desperately reading every article concerning any Brother device + Linux) make your own AUR package. It’s relatively simple, given a variety of packages in AUR mostly differing by the URLs by which they fetch source archives. Search for brother in AUR and read the PKGBUILDs. They usually extract files from RPM or DEB packages baked for other distros.

SANE doesn’t see the scanner

  1. Does brsaneconfig4 -d successfully ping the MFC? If not, make sure you have specified the IP address with each block having exactly three digits.To remove an incorrect device, use something like brsaneconfig4 -r Brother_MFC-7860DW. Then add it again with correct IP.
  2. Does Sane expect this device to be accessed through the network?Check it:
    $ grep brother /etc/sane.d/dll.conf
    brother4

    If nothing was found, add it:

    $ echo brother4 | sudo tee -a /etc/sane.d/dll.conf
    $ scanimage -L

    The scanner should now appear in the list.

SANE fails to open the device

If you have an issue like this:

$ scanimage -h
[...]
scanimage: open of device brother4:net1;dev0 failed: Invalid argument

…then it may be the case of the 64 bit caveat. However, it seems that the recent distro/drivers play well with each other anyway.

In my case the root of the problem was in the wrong format of the IP (see other troubleshooting items).

SANE fails with “out of memory” error

It seems that the scanner works perfectly in all modes with all supported resolutionsexcept for “24bit Color (Fast)”. Drop “(Fast)” and here you go.

You may want to try xsane instead of scanimage to play with the modes.

Cómo encuentran las empresas a los profesionales que buscan trabajo: 12 datos sobre reclutamiento y búsqueda de empleo 761 | Yoriento

Fantástico atículo extraído del blog yoriento.com, al que invito a visitar, por lo revelador e interesante:

Cómo encuentran las empresas a los profesionales que buscan trabajo: 12 datos sobre reclutamiento y búsqueda de empleo 761 | Yoriento.

Las redes sociales se están convirtiendo en una herramienta fundamental a lahora de encontrar empleo.

Botón WPS en WRT160nl con OpenWRT

notas extraídas de:

WNDR3700 exploration Page 19 — General Discussion — OpenWrt.

explica como activar el botón WPS con la función WPS

WPS button:

If you have a WPS-enabled network device (like a modern USB dongle) supporting Wi-Fi Protected Setup (WPS), you can negotiate joining the router’s Wifi network without manually entering SSID & passkey. You just initiate «WPS authentication» by pushing the similar WPS button on the device (or launching the process by its driver/control software). After the device has initiated the authentication process, you can accept the transaction by using the WPS button on WNDR3700. The connection should then get negotiated, and in most cases in future your PC should remember the received network settings from then on.

After finding the information and browsing the hostapd package sourcecode, the needed actions for enabling the WPS button are pretty simple:

1) Using WPS authentication requires replacing the default ‘wpad-mini’ package with ‘wpad’ and ‘hostapd-utils’. The reason is that the tool «hostapd_cli» and some needed support functions are not included in ‘wpad-mini’.

WPS authentication itself is launched with a command: hostapd_cli -p /var/run/hostapd-phy0 wps_pbc

It tells the running hostapd daemon to participate in ongoing WPS authentication sequence. It needs to be run separately for each radio (= each existing hostapd process).

2) And it only works if the ‘/etc/config/wireless’ has been modified to include info about WPS authentication being allowed byadding the option ‘wps_pushbutton’ ‘1’ to the wifi-iface section of (each) radio. Additionally, the encryption should be WPA2-PSK (or maybe WPA-PSK is enough, I haven’t tested).
(Looks like the version of hostapd scripts in OpenWrt does not support the full scope of hostapd’s capabilities, so many of the config options documented in hostapd docs are left unused.)

That config file is read when radios are turned on, so after editing the config, restart the radios in WNDR3700.
At this point, you should be able to test it by running it from command line. If the message gets passed to hostapd, you should see there result ‘OK’ there. Otherwise the result is ‘FAIL’.
> root@OpenWrt:~# hostapd_cli -p /var/run/hostapd-phy0 wps_pbc
> Selected interface ‘wlan0’
> OK
> root@OpenWrt:~#

3) Add a hotplug button event script to launch the process.

I modified directly the hostapd package source ( /package/hostapd/files/wps-hotplug.sh ), as the hotplug script gets automatically installed to ‘/etc/hotplug.d/button/50-wps’ with the package.  See below.

The script launches hostapd_cli for each radio and lights the WPS led for 10 seconds. There is no monitoring of the result, or anything like that. It is just a dumb script using the hostapd_cli command to pass the message to the hostapd daemon.
Remember to check the button name: Backfire:  wps=»BTN_1″,  trunk:  wps=»wps»

root@OpenWrt:/# cat /etc/hotplug.d/button/50-wps

if [ "$ACTION" = "pressed" -a "$BUTTON" = "BTN_1" ]; then
        echo "255" > /sys/devices/platform/leds-gpio/leds/wndr3700:green:wps/brightness
        for dir in /var/run/hostapd-*; do
                [ -d "$dir" ] || continue
                logger "WPS button active: $dir"
                hostapd_cli -p "$dir" wps_pbc
        done
        sleep 10
        echo "0" > /sys/devices/platform/leds-gpio/leds/wndr3700:green:wps/brightness


root@OpenWrt:/# cat /etc/config/wireless
...
config 'wifi-iface'
        option 'device' 'radio0'
        option 'network' 'lan'
        option 'mode' 'ap'
        option 'ssid' 'public'
        option 'encryption' 'psk2'
        option 'key' 'SecretKey'
        option 'wps_pushbutton' '1'
...


 fi

If everything goes ok, you should see in Syslog not only the button events, but also succesful WPS authentication:


Jan 31 21:11:09 OpenWrt user.notice root: WiFi button used: WiFi up
Jan 31 21:11:09 OpenWrt user.info kernel: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Jan 31 21:11:09 OpenWrt user.info kernel: device wlan0 entered promiscuous mode
Jan 31 21:11:09 OpenWrt user.info kernel: br-lan: port 2(wlan0) entering forwarding state
...
Jan 31 21:12:00 OpenWrt user.notice root: WPS button active: /var/run/hostapd-phy0
Jan 31 21:12:00 OpenWrt user.notice root: WPS button active: /var/run/hostapd-phy1
Jan 31 21:12:03 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: authenticated
Jan 31 21:12:03 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: associated (aid 1)
Jan 31 21:12:04 OpenWrt daemon.warn hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.1X: authentication failed - EAP type: 0 ((null))
Jan 31 21:12:04 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.1X: Supplicant used different EAP type: 254 ((null))
Jan 31 21:12:04 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: disassociated
Jan 31 21:12:05 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: deauthenticated due to inactivity
Jan 31 21:12:17 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: authenticated
Jan 31 21:12:17 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: associated (aid 1)
Jan 31 21:12:17 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc RADIUS: starting accounting session 4D47094D-00000000
Jan 31 21:12:17 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc WPA: pairwise key handshake completed (RSN)
Jan 31 21:12:29 OpenWrt daemon.info dnsmasq-dhcp[1855]: DHCPREQUEST(br-lan) 192.168.1.190 1c:af:f7:f6:11:dc 
Jan 31 21:12:29 OpenWrt daemon.info dnsmasq-dhcp[1855]: DHCPACK(br-lan) 192.168.1.190 1c:af:f7:f6:11:dc HNH57JG

EDIT: added a note about the correct button names in Backfire and trunk.
If you want to check the button names on your system, you can use the following hotplug script that just logs the button 'pressed' actions into system log:


root@OpenWrt:/etc/config# cat /etc/hotplug.d/button/02-log
#!/bin/sh
if [ "$ACTION" = "pressed" ]; then
        logger "button: "$BUTTON
El problema es que no se porqué, la opción wps_pbc no está implementada todavía en el modulo hostapd_cli.

[Tutorial] Modo Cliente/Repetidor/WDS con OpenWrt

Otro curioso artículo para configurar con OpenWRT, el router WRT160nl.

Agradezco al creador del tuto su esfuerzo, y pongo en copia el link al mismo.

[Tutorial] Modo Cliente/Repetidor/WDS con OpenWrt.

Wacom Bamboo CTL-460 su Debian Squeeze | low memory mode: web log di borlongioffei

Acabo de comprarme una tableta gráfica Wacom. La forma que tuve de ponerla en funcionamiento fué gracias a este post publicado en Italia.

Wacom Bamboo CTL-460 su Debian Squeeze | low memory mode: web log di borlongioffei.

 

Otro estupendo post para configurar en Debian la tablet Wacom

lik » Making Wacom Bamboo Pen tablet work under Debian.

 

Pues bien, esulta que la versión del kernel de Debian 6.0.6, no es compatible con las nuevas Wacom, por lo que tuve que hacer lo siguiente:

Subir la versión del kernel a la 3.2. Esto se hace entrando en el sources.list los backports de debian.

en /etc/apt/sources.list, añadí el siguiente repositorio:

deb http://backports.debian.org/debian-backports squeeze-backports main

luego de un aptitude update, instalar la version del kernel que queramos.

 

Una vez hecho esto, tuve que compilar el xf86-input-wacom, y arrancar de nuevo el pc.

 

Instalación de openWRT y más en WRT160NL

Gracias a un trabajo anterior, tuve que aprender algo de Unix. En ese momento, y tras tenr que utlizarlo, me dí cuenta de las ventajas que tenía ese sistema operativo frente al DOS de entonces. La pega de este sistema Operativo era que, no corría en cualquier ordenador, lo que lo hacía extremadamente caro, como para que un aficionado, lo tuviera en casa.

Posteriormente, ví como había un colectivo de personas, que idearon algo parecido al UNIX. Desde entonces, utilizo Windows para el trabajo, y Linux para mi entorno personal.

Pues bien, hace como un año, que me enteré de que había rooters que admitían un kernel Linux en su interior, lo que los hacía mucho más versátiles que aquellos que no lo admitían. Por eso, compré un Linksys WRT160NL.

Configurarlo cuando salió al mercado, con OpenWRT no fué sencillo, pero hace unos días, he encontrado por la red, un artículo que condensa bastante bien las labores que hay que realizar para disponer de un router con altas prestaciones, con este equipo, y con OpenWRT en su interior.

Instalación de openWRT y más en WRT160NL.

Pongo este enlace, dándo las gracias al blogger que lo editó.

El primero

Como primer post, quiero presentarme.

Soy Juan Carlos Juárez Lobato. Tengo 44 años. Soy Ingeniero de Organización Industrial, y después de 15 años sin parar de trabajar, resulta que en estos momentos tengo que volver a buscar trabajo.

Además, intentaré publivar aquí, cuanto crea que merece la pena dejar en el blog, en relación a Economía, Organización Industrial, y otros de mis hobyes.

Digamos que mi trabajo en estos momentos es, buscar trabajo, y eso es lo que hago principalmente.

Albert Vaca's blog

About KDE and KDE Connect

WordPress.com News

The latest news on WordPress.com and the WordPress community.