# Newbie needs USB help!

## jigs

Hi, 

im trying to get my usb file system working, and honestly i have no idea if what i have already tried has got it working or not! Anyway, i need to connect 3 things via usb. A printer, a bluetooth widget thingy and flash drive. If someone could pretty much hold my hand through the steps that would be great as sometimes i get lost with what i'm doing. I'm running AMD64 3000, gentoo 2.6.9 r14 and kde with a via82xxx mobo. Any help much appreciated  :Laughing: 

----------

## Benson

Hy jigs,

if you get a little more specific, i am sure we can lead you through installing/configuring whatever it needs to get your usb-devices working! So first, what do you mean with "usb file system", never heard of that - do you mean an external harddisk connected via USB???

Concerning your 3 devices:

- the usb printer, please give us the name and model of the manufacturer of your printer

- bluetooth widget: are you using kde? Witch manufacturer/model?

- flash drive: personally i don't know much about it, but if you give mor infos about your flash drive i'm pretty sure someone will be able to point you the right direction (e.g. kernel options you have to select)

Ah, and maybe you could update your kernel, actually we have 2.6.11. It fixes some bugs and has better looking at the changelog, the usb-drivers should have better performance.

rgds

Benson

----------

## theothermatt

I can try and help with the flash drive.  Mostly they're all pretty similar.  Need some more info though:

- did you use genkernel to configure and build your kernel, or did you do it with make menuconfig etc...?

I think that probably if you used genkernel, all the options you need will be there.  Otherwise you'll probably need to build a new kernel with the right options.

- anything else about the flash drive that might be useful.

Matt

----------

## jigs

Pretty much i don't know if i have correctly configured the usb ports correctly and im not quite sure how to mount the printer, flash drive and bluetooth. I'm pretty sure its more my lack of knowledge as apposed to bugs in the kernel. I did build the kernel as a stage 3 with genkernel, but ive since had to rebuild it once for support of my mobo. I have to play a game of basketball right now but i'll be back on in a hour or so to keep plugging away at it.

----------

## jigs

OK i'm back, the printer is a canon i560, the flash drive is a direct pc and the spirit is the brand of the widget. I just need to set them up through usb and i'm not sure how to mount them or what ever needs to be done. Like i said i'm not really a very knowledgeable linux user.

----------

## Benson

Ok, here we go - first off, we have a look at your printer. There's a thread about canon-printers and drivers made by canon, have a look at this thread how to use those drivers. Seems like cups doesn't have drivers for it, so you have to install these drivers first. There's a tutorial, but if you read through the thread you see that there's already an ebuild - go to https://bugs.gentoo.org/show_bug.cgi?id=61955 and download the ebuild (take the last one). This should work with it, but i cannot guarantee.

And make sure that if your printer is connected via USB to your computer that you have enabled USB-Printer Support in the kernel:

 *menuconfig wrote:*   

> Device Drivers
> 
> -->USB support
> 
> ----><*> USB Printer support

 

If you have installed all the necessary drivers, you can go on an set up your printer for use with cups - open http://localhost:631/ with any browser and add your printer!

This is at the moment my help i can give, i'll try to get more infos about your bluetooth adapter. Since i don't know how good your linux-skills are, i don't know if you need any help e.g. using the ebuild (where to place it and make gentoo emerge it). If you have any further question, just ask.

rgds

Benson

----------

## jigs

yeah you were right, im not to sure where to put that ebuild. i get to /usr/portage and then im not sure where to go from there, i had gone through that tutorial already and there is actually some new rpms on the jp canon site that had the drivers for the 560 in it so i used those in stead.

I also tried to go to localhost but it says that the connection was refused. I'm using kde and mozilla firefox.

----------

## theothermatt

ok first thing then, we need to check that you've got the right modules and they're loading.

plug in the usb flash drive, and do:

```
lsmod
```

in the output of this should be some modules relating to usb, such as usbcore, and most importantly usb_storage. 

If usb_storage is there, everything else should be easy (!)

Now i'm gonna make some assumptions.  All flash drives i've seen use fat filesystem.  And hopefully you've got root access!

You need to find out what the device path for the drive is:

(Leave the drive plugged in for all of this)

```
dmesg
```

Look for something similar to:

```

usb 3-1: new full speed USB device using uhci_hcd and address 2

SCSI subsystem initialized

Initializing USB Mass Storage driver...

scsi0 : SCSI emulation for USB Mass Storage devices

usbcore: registered new driver usb-storage

USB Mass Storage support registered.

usb-storage: device found at 2

usb-storage: waiting for device to settle before scanning

  Vendor: CRUCIAL   Model: USB DRIVE         Rev: 1.12

  Type:   Direct-Access                      ANSI SCSI revision: 01 CCS

SCSI device sda: 503808 512-byte hdwr sectors (258 MB)

sda: Write Protect is off

sda: Mode Sense: 23 00 00 00

sda: assuming drive cache: write through

SCSI device sda: 503808 512-byte hdwr sectors (258 MB)

sda: Write Protect is off

sda: Mode Sense: 23 00 00 00

sda: assuming drive cache: write through

 sda: sda1

Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0

usb-storage: device scan complete

```

This says that my usb flash drive is at sda1, so the path is /dev/sda1.

Now make a mount point for your flash drive:

```

su

(enter root password)

mkdir /mnt/flash

```

/mnt/flash can be changed to wherever you want your mountpoint.

you can then mount the drive (hopefully) with:

```

mount -t vfat /dev/sda1 /mnt/flash

```

Obviously here you need to change /dev/sda1 to whatever dmesg said, and /mnt/flash to whatever mountpoint you created.

Hope that helps.  :Smile:   If you have any more problems with it, try and give the output of lsmod and dmesg, that might be helpfull to someone on here.

Matt

----------

## theothermatt

sorry, probably should add that you need to do

```
umount /mnt/flash
```

before unplugging the flash drive.

----------

## jigs

cheers, 

[code]usb 1-6: new high speed USB device using address 13

scsi11 : SCSI emulation for USB Mass Storage devices

  Vendor: USB       Model: Flash Drive       Rev: 1.12

  Type:   Direct-Access                      ANSI SCSI revision: 02

SCSI device sda: 507901 512-byte hdwr sectors (260 MB)

sda: assuming Write Enabled

sda: assuming drive cache: write through

 /dev/scsi/host11/bus0/target0/lun0: unknown partition table

Attached scsi removable disk sda at scsi11, channel 0, id 0, lun 0

Attached scsi generic sg0 at scsi11, channel 0, id 0, lun 0,  type 0

USB Mass Storage device found at 13[/code]

thats all that looks like it makes any sense, theres a whole pile more stuff 

[code]atkbd.c: Unknown key released (translated set 2, code 0x81 on isa0060/serio0).

atkbd.c: Use 'setkeycodes e001 <keycode>' to make it known.

atkbd.c: Unknown key pressed (translated set 2, code 0xd9 on isa0060/serio0).

atkbd.c: Use 'setkeycodes e059 <keycode>' to make it known.[/code]

im not sure what that means???

this is what came out of my lsmod

[code]Module                  Size  Used by

usblp                  13824  0

vfat                   14592  0

fat                    47904  1 vfat

w83627hf               33320  0

eeprom                 10144  0

i2c_sensor              4224  2 w83627hf,eeprom

i2c_isa                 2688  0

i2c_viapro              8204  0

sata_via                8324  0

libata                 45448  1 sata_via

r8169                  21000  0

snd_via82xx            28900  0

snd_ac97_codec         76416  1 snd_via82xx

gameport                4992  1 snd_via82xx

snd_mpu401_uart         8192  1 snd_via82xx

nvidia               4055164  12

ide_tape               36128  0

st                     40868  0

sbp2                   25608  0

ohci1394               33668  0

ieee1394              117592  2 sbp2,ohci1394

usb_storage            68800  0

ohci_hcd               21124  0

uhci_hcd               31520  0

ehci_hcd               30852  0[/code]

----------

## Benson

To use the ebuild, you have do put it into a special directory. I have this little howto more or less from another thread:

1. download the ebuild 

2. open /etc/make.conf and make sure you've set "PORTDIR_OVERLAY=/usr/local/portage" (without the quotes. you may specify another path) 

3. mkdir -p /usr/local/portage/net-print/bjfilterpixus/

4. mv bjfilterpixus560i-2.4.ebuild /usr/local/portage/net-print/bjfilterpixus/

5. open /etc/portage/package.keywords (if it doesn't exist create it) 

6. add "net-print/bjfilterpixus560i ~x86" (without the quotes and with the appropriate architecture) 

7. ebuild /usr/local/portage/bjfilterpixus/bjfilterpixus560i-2.4.ebuild digest 

8. emerge -pv bjfilterpixus

OT, but whenever you want to emerge an ebuild that's not in the official portage dir (/usr/portage/...) you should place the ebuild in this overlay-directory (/usr/LOCAL/portage/...) and try to put it into subfolders the same way it's done in /usr/portage !!!

Now if you do step 8 you should see that portage wants to install the ebuild from /usr/local/portage. Hope i didn't forget anything, if so an there is an error, post it here. Hope this helps to get the canon-driver installed.

rgds

Benson

----------

## jigs

i forgot to add in the part about the printer aswell

[code]usb 5-1: new full speed USB device using address 3

usbcore: registered new driver usblp

drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver

drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 3 if 0 alt 0 proto 2 vid 0x04A9 pid 0x1086

[/code]

----------

## bpkri

Just a warning,a s I have just been through the USB-madness with a VIA82xxxx chipset...

I have onboard USB 1.1 - which works somewhat. I think it works pretty good for small mounts of data, like mouse, scanners, joysticks, card readers and USB sticks. However USB drives can be a problem. Not that they are slow, that's pretty normal with USB 1.1, but with large files (note: Files, not large amount of files) of several hundred MBs, I at some point get IO errors. So if you encounter these problems, good luck with solving them. I only encountered those problems with large amounts of larger data ( More than 1 GB of moer than 100MB size of files).

I also had problems with an additional USB 2.0 card, also with a VIA chipset. EHCI did not work at all (USB 2.0), UHCI (USB 1.1) with the same problems I already emntioned. Additionally sometimes the kernel did not realize, that a new device had been connected.  :Sad: 

So, if you encounter those kind of problems, I can only give you one advice: switch over to a USB root connecter (e.g. a USB PCI Card) with a chipset from NEC. No errors and connection troubles since I use those.

Oh, and good luck  :Smile:  USB and linux still does not seem all THAT stable to me, but with the right choice of hardware it works like a charm  :Very Happy: 

----------

## jigs

bastard now you got me worried  :Razz: 

yeah i followed what you had in those 8 steps and this is where i encountered some errors, and im wasn't to sure what the amd64 architecture should be represented as so i just put ~AMD64, is that correct???

[code]bash-2.05b# ebuild /usr/local/portage/bjfilterpixus/bjfilterpixus560i-2.4.ebuild digest

!!! doebuild: /usr/local/portage/bjfilterpixus/bjfilterpixus560i-2.4.ebuild notfound for digest

bash-2.05b# emerge -pv bjfilterpixus

These are the packages that I would merge, in order:

Calculating dependencies  !!! aux_get(): ebuild path for 'net-print/bjfilterpixus560i-2.4' not specified:

!!!            None

emerge: there are no ebuilds to satisfy "bjfilterpixus".

[/code]

----------

## jigs

These problems are the last few i have for installing gentoo, and because they are fairly important to me, is it worth using a dual boot with gentoo and windows. Plain and simple, linux may be more powerful, but the time that im spendingto get everything working is almost far outweighing its usefulness. Maybe i just jumped to far to quickly and expected to much of kde, gentoo and linux. Maybe im just talking jibberish cos i'm half concussed after a elbow to the head in basketball. Anyway im gunna sleep on it and get ready for my C++ class tomorrow! 

seeyas tomorrow, thanx for the help today people

----------

## theothermatt

hmmm that's interesting.  I have a via82xxxx chipset too, i've never had any problem!

I have no idea what that error from atkbd.c is about

You seem to have the modules you need.  You say you had to rebuild the kernel for support for your board?

What did you change?  I mean, what modules did you add in, did you compile them as modules or built in to the kernel?

On the topic of gentoo in general, it is possible that Gentoo is not the ideal distro for someone with no linux experience.

I personally started with Mandrake, and graduated to Gentoo-hood!  My experience is that you have to put more into linux, but you get so much more out of it. And with Gentoo, you learn a HELL of a lot about how your computer and your operating system actually work.  It does get easier once you get used to how things work.  Keep trying, it really is worth it  :Smile: 

Have fun with C++, i always do, I like the language!

----------

## jigs

yeah, what is that error caused by? any ideas anyone  and any idea how i can fix it? I loaded the support for the mobo as modules, because it was in the forums that i had to to get my sound working. 

Btw how do i update my kernel to the latest one?

----------

## jigs

So i had a quick look around and it appears that the error with the atkbd.c is a common error not to be worried about, according to this topic.

Which means i should be able to get the path of the usb devices currently plugged in. 

Do these lines lead me anywhere on that path:

```
sda: assuming Write Enabled

sda: assuming drive cache: write through

/dev/scsi/host11/bus0/target0/lun0: unknown partition table 
```

----------

