Friday, December 21, 2012

Problem setting up HP LaserJet P1102 on Linux

If you have problem setting up driver for HP LaserJet P1102, it most probably because of Smart Install feature of the device. You can see it in dmesg output:

[353279.710023] usb 6-1: new high-speed USB device number 22 using ehci_hcd
[353279.824940] usb 6-1: New USB device found, idVendor=03f0, idProduct=002a
[353279.824944] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[353279.824947] usb 6-1: Product: HP LaserJet Professional P1102
[353279.824950] usb 6-1: Manufacturer: Hewlett-Packard
[353279.824952] usb 6-1: SerialNumber: 000000000Q84CF03SI1c
[353279.826253] scsi16 : usb-storage 6-1:1.0
[353280.838094] scsi 16:0:0:0: CD-ROM            HP       Smart Install    1.0  PQ: 0 ANSI: 2
[353280.868209] sr1: scsi3-mmc drive: 0x/0x caddy
[353280.868365] sr 16:0:0:0: Attached scsi CD-ROM sr1
[353280.868452] sr 16:0:0:0: Attached scsi generic sg2 type 5

it is useful for Windows users as it will create a virtual cdrom drive in order to install the printer's driver. For Linux, this feature will prevent the setup utility to detect it as a USB printer as it sees it as a disk. The solution to this problem is by deactivating the feature using usb_modeswitch utility as below:

usb_modeswitch -m 4 -r 4 -v 0x03f0 -p 0x002a -M 55534243287E778400000000000006D0000000000000000000000000000000 -n

Please login as root before issuing the command.

The output is something like this:

Looking for default devices ...
   found matching product ID
   adding device
 Found device in default mode, class or configuration (1)
Accessing device 023 on bus 006 ...
Getting the current device configuration ...
 OK, got current device configuration (1)
Using first interface: 0x00
Using endpoints 0x04 (out) and 0x04 (in)
Not a storage device, skipping SCSI inquiry

USB description data (for identification)
Manufacturer: Hewlett-Packard
     Product: HP LaserJet Professional P1102
  Serial No.: 000000000Q84CF03SI1c
Looking for active driver ...
 No driver found. Either detached before or never attached
Setting up communication with interface 0
Using endpoint 0x04 for message sending ...
Trying to send message 1 to endpoint 0x04 ...
 Sending the message returned error -5. Trying to continue
Reading the response to message 1 (CSW) ...
 Response reading got error -5
 Device is gone, skipping any further commands
-> Run lsusb to note any changes. Bye.

(This output is after I ran the command once. You may see something like removing/deactivating the disk.) 

Then restart the printer or turn it off and on again. You should now run hp-setup utility to setup the printer and this time it can see the attached USB printer listed and you can select the printer to install the driver.

Hope this helps. Have fun!

Update: Whenever you restart your pc,  it can't connect to the printer. So this is not permanent solution. What you have to do is run the command of usb_modeswitch again and there you go. It will recognize the printer but this time you dont have to reinstall the driver. For permanent solution, from what I have read, I need to use Windows to run the printer's utility software but I never tried it before. if I have tried it, i will post it here.

Sunday, December 9, 2012

Postfix: smtp_address_preference

For mailserver/system  administrator :

If your mailserver has problem to connect to ipv6 address (especially if your mailserver doesn't support it) and throw errors something like this:

Dec 10 00:05:57 localhost postfix/smtp[16925]: connect to[2404:160:0:f:0:2:42c4:7621]:25: Network is unreachable
Dec 10 00:05:57 localhost postfix/smtp[16925]: connect to[2404:160:0:f:0:1:6288:d9ca]:25: Network is unreachable
Dec 10 00:05:57 localhost postfix/smtp[16925]: connect to[2404:160:0:f:0:2:42c4:7624]:25: Network is unreachable
Dec 10 00:05:57 localhost postfix/smtp[16925]: connect to[2404:160:0:f:0:1:43c3:a8e6]:25: Network is unreachable
Dec 10 00:05:57 localhost postfix/smtp[16925]: connect to[2404:160:0:f:0:1:42c4:7622]:25: Network is unreachable

then you may want to check the default smtp_address_preference parameter in Most probably it is defaulted to ipv6 which is true on my postfix installation (Mageia). Change it to ipv4 to instruct postfix to look up MTA with ipv4 address only (which is I think supported by all major players like Yahoo!, Gmail and Hotmail for compatibility reason or they will lose lots of their customers) . So:

smtp_address_preference = ipv4

will save you before you consider to upgrade your infrastructure to ipv6. :-)

Have fun!

Sunday, September 9, 2012

Migrating and upgrading mailserver

I have new and powerful server for mail server. So now I am in the process of migrating my mail data and settings to the new server. But it is not as simple as copying a directory. It involves many things. Luckily some of them, you can just copy to the new server.

I am most concerned with the mail messages as they contain important messages for day-to-day operations and conversations. I will tell you more after the migration is complete.


Tuesday, January 24, 2012

Perl: Terminal does not support AddHistory

If you see the error when running Perl shell, you need to install Term::ReadLine::Perl.

That's all there is to it. Have fun!.

changing manually wireless connection to be controlled by knetworkmanager

knetworkmanager is a Network Manager for KDE4. It is hated or liked by users and usually not in between. I personally like it although it has its fair share of bugs. But I like Mandriva's net_applet more. It is stable and more reliable. It is prefered by many Mandriva users. However, if you are stuck with recent problems (bug?) of perl in Mandriva Cooker like me, you are forced to use command line of wpa_supplicant or iwconfig or using gui application like knetworkmanager. 

In Mandriva, you can change which network manager control the wireless connection by changing the option in net_applet or you can manually change in file /etc/sysconfig/network-scripts/ifcfg-wlan0. If you want knetworkmanager in control of it, you just have to change this line to yes:


Sunday, January 22, 2012

Connecting to wireless AP with WPA/2 security using wpa_supplicant

Recently, my cooker updated perl packages and it broke all of drak* family especially drakconf and net_applet. net_applet is the network manager for Mandriva in applet form. I can also use draknetcenter. Now the problem is I cant open net_applet and knetcenter due to this error:
/usr/bin/perl: symbol lookup error: /usr/lib/libDrakX/auto/c/stuff/ undefined symbol: Perl_Gthr_key_ptr
So how do I connect to wireless AP? I dont know how to use iwconfig to connect to such AP or can I? After googling, I found a solution: wpa_supplicant. In Mandriva, I just have to run this command (as root):
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &
If you have setup the connection before with draknetcenter, you dont have to edit the file wpa_supplicant.conf. If not, you have to manually edit the file to suit your environment. it is heavily documented. 

Then you have to run dhclient to get IP address from the AP or other dhcp server:
 dhclient wlan0

wlan0 is my wireless interface. Please change it according to your environment. I bet the broken packages will be updated sooner so that I can use net_applet again.

Have fun!

Monday, January 2, 2012

Happy New Year and distros for router

Happy New Year everbody. Hope 2012 will be a great year for Linux. In 2011, I tested several distros for different purposes. For routers, I found several free distros that serve as a really good gateway for my network. Among others are:

  1. Zentyal - this is the best distro for routers. Fully featured with webcache, url filtering, load balancing for multiple lines and has 32-bit and 64-bit version. It is based on Ubuntu.
  2. ClearOS - Also the best but it doesn't have 64-bit version (at the time of this writing. recently there's a 64-bit release but still in beta stage). Has many features as Zentyal. Based on Redhat.
  3. pfSense - this is not Linux-based. It is freeBSD-based firewall and router. It has bug with my servers pertaining to PCI-E. So I dumped it. It's good but the bug prevent it from being operational.
  • Untangle - didn't try it because the free version has no webcache feature.
  • Zeroshell - tried it but a little awkward to use.
So I chose Zentyal as my distro for my server router and info from its web, I need to add more RAM and bigger hard disk to serve more than 500 users.

Happy New Year everybody! Thanks for reading.