Scanjet 5100c in Kubuntu Feisty
I had my HP Scanjet 5100c scanner working in Kubuntu Dapper (2.6.17) by compiling the ppscsi modules. Now, I recently upgraded to Feisty (2.6.20) and now I'm having problems to get my scanner to work again. I tried using the same modules I compiled for Dapper (ppscsi and epst), but that won't work. So I tried to compile new ones, but that doesn't work either. Apperently since kernel 2.6.19 linux/config.h does no longer exist in the linux headers and I do need that to compile the modules. I tried to workaround this bij doing a "ln -s autoconf.h config.h" in the /usr/src/linux-headers-'uname -r'/include/linux/ folder. That is a solution for one error I get during building, but I also get another error of which I don't know how to solve it.
The output is as follows: Code:
make -C /lib/modules/`uname -r`/build M=`pwd` modules |
I just put these instructions together today after struggling through this exact problem on my Ubuntu Feisty setup. I think they should work equally well for Kubuntu.
I have managed to get ppscsi to work properly in feisty. I'm posting the full instructions I've typed up here for anyone else who stumbles across them. The individual parts of this all exist out there on the net, but I've not found anywhere that puts the whole lot together, so here goes: How to make a HP ScanJet 5100/5200C work with (K)Ubuntu? Feisty (Kernel 2.6.20) 1. Make sure that you have the kernel headers installed: Code:
sudo apt-get install linux-headers-`uname -r` 3. Once downloaded extract the file: tar zxvf ppscsi-beta2-20060424.tar.gz This next bit is from translated instructions on the spanish Ubuntu website: Quote:
4. Open ppscsi.h in the editing program of your choice. Change the where it says #include <linux/config.h> to read #include <linux/autoconf.h> This is on line 16 of the copy of ppscsi.h that I'm working with. 5. Save and close ppscsi.h and open ppscsi.c Change the following lines: static void ppsc_tq_int (void *data) change to static void ppsc_tq_int (struct work_struct *data) (Note: This is line 191 in the copy of ppscsi.c I'm working with) INIT_WORK (&pha->wq, ppsc_tq_int, pha); change to INIT_WORK (&pha->wq, ppsc_tq_int); (Note: This is line 1148 in the copy of ppscsi.c I'm working with) 6. Save and close ppscsi.c and run make. This should produce a set of .ko files, including the all important (to us anyway) ppscsi.ko and epst.ko. 7. Since the Makefile for ppscsi has no instructions for installing these files we need to copy them to their new location manually: Code:
sudo cp ppscsi.ko epst.ko /lib/modules/`uname -r`/kernel/drivers/parport Code:
sudo depmod Code:
sudo modprobe ppscsi In order to make sure that the scanner is recognised from the moment you boot up it is necessary to edit /etc/modules and add the following two lines to the end of the file: Code:
ppscsi |
Thank you very much! This did the trick. I got it to work now!
|
hi all.
what do you mean in number 6 and run make |
Hi Jimbo,
This means that you have to open a terminal (e.g. konsole) and cd to the folder where you extracted the source (after you ran through steps 1 to 5). Then in the terminal type "make" (without quotes, or sudo make in case the directory is writeable for your current user). This will compile the neccesary binaries. After that continu with step 7. |
cheers, it works a treat,
switched from m$ about 6 weeks ago now and this was the last real reason i booted into m$ regularly. BYE BYE BILL he he do i need to keep the ppscsi-beta2 folder now and does it need to stay in same place or is it no longer needed. also dont have a clue what i've just done and am eager to learn. i have read most areas on the ubuntu official pages and on ubuntu wiki. is there any decent sites to visit to help us noobs thanks again jimbo |
Hi Jimbo.
You no longer need the ppscsi-beta2 folder as in step 7 you copied the files you created into the modules folder for your kernel. Keep hold of the instructions and the original source files though as you'll probably need to repeat this whole process next time a major update to the kernel comes out. |
Hello, there!
Up to modprobing, everything works fine for me. I can modprobe ppscsi without a problem, but not epst: Quote:
Quote:
Can you help me here? Thank you and thanks for the howto! Klaus |
Worked for me (Kubuntu 7.04)
No problems at all,
Many thanks for this post, it was just what I was looking for, Ross |
Quote:
Code:
/home/peter/Download/ppscsi-beta2/ppscsi.c: In function 'ppsc_start': Has anyone got a clue as to how to make the rest of this go away so the ko files compile properly? Thank you for your indulgence. :-( Peter |
Hi Peter,
Things have changed quite a bit since I originally posted those instructions. In fact every time a new version of Ubuntu was released - something broke. What version of Kubuntu are you running? I'll see if I can dig up the correct fix for you. |
Quote:
Thanks for replying so soon. I am actually not using ubuntu at all because it breaks too often. My distro of choice is Sun Solaris, but for this exercise it's Mandriva. What I have noticed already is the ppscsi, epst and others are built into these later linux versions. Thus, I thort, no need to DL, compile and install any other drivers. Oh boy, I've tried and tried. The parts of lsmod that matter are: parport 34924 3 ppscsi,ppdev,parport_pc sd_mod 37912 7 scsi_mod 138188 7 sg,epst,ppscsi,sr_mod,usb_storage,libata,sd_mod ...and still my scanner won't work. modprobe.conf looks like this: Code:
[root@icute peter]# cat etc/modprobe.conf Code:
[root@icute peter]# cat /etc/modules.conf Code:
epst Bless you Peter |
Unfortunately I've only been looking into the problems with ppscsi / epst from the Ubuntu angle, and being nothing of a programmer doing a rather poor job of it all told at that.
Mostly I've been compiling in a central location the verious solutions people have come up with to make a ScanJet 5100C work for others like me who don't want to get rid of a perfectly good scanner just because someone seems to have decided that parallel port scanning doesn't really need to be supported any more. Because of the limits that sets on what I actually know - I can't look at your code dump and figure out why it isn't working. That said, since the base code behind modern kernels is more or less the same, whatever OS is built on top of it, its possible that the solution that currently works for me might work for you: The first thing to try is taking the latest patched version of ppscsi from here. Unpack the archive: tar -zxvf ppscsi-patched-karmic.tar.gz Change to the extracted directory: cd ppscsi-beta2 Compile the source code: make Then either switch to root (su) or type each of the following commands in super user mode: # cp ppscsi.ko epst.ko /lib/modules/`uname -r`/kernel/drivers/parport # depmod -a # modprobe ppscsi # modprobe epst With luck that'll fix up the problems you're having. Hopefully that makes some sense to you - and even more hopefully it'll help. I should note that the thanks for the latest instructions go to tcsoft who posted them in his blog here. He in turn thanks others who've posted in the ongoing thread I have on this topic here. The file download above has already had all the patches applied to it so you don't need to mess around with those - just download and build it then install as per the instructions. |
All times are GMT -5. The time now is 05:50 PM. |