Re: USB stack (was: USB scanner unrecognized ...)

2008-01-16 Thread Jeremy Messenger
On Wed, 16 Jan 2008 16:20:42 +0200, Hasso Tepper wrote:

> Simon 'corecode' Schubert wrote:
>> Then devices should be probed and if there is a better match than ugen
>> and if the ugen device is not open, it should be detached from ugen and
>> attached to the new driver.  Do you think this would be possible?
> 
> There is a lot of things that suck in USB stack all BSD's are using at
> the moment. This particular one is one of smallest ones I worry about
> ;).
> 
> There is a light though. There is a new USB stack known as HPS or
> usb4bsd under development in FreeBSD. This particular problem is already
> resolved there as well. Also two biggest problems with current stack -
> sucking isochronous transfer support and sucking ugen.
> 
> See these for details:
> http://www.turbocat.net/~hselasky/usb4bsd/
> http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/
usb/src/sys/dev/usb
> 
> Volunteers to port needed ;P.

See here: 
http://lists.freebsd.org/pipermail/freebsd-current/2008-January/081682.html

Cheers,
Mezz


Re: USB scanner unrecognized on 1.11-DEVELOPMENT

2008-01-16 Thread Francois Tigeot
On Wed, Jan 16, 2008 at 12:45:49PM +0200, Hasso Tepper wrote:
> Francois Tigeot wrote:
> > However, I found out there's was a difference between a standalone
> > uscanner module and one compiled in the kernel.
> >
> > Standalone module:
> > - original -> nothing
> > - patched -> nothing
> 
> Note that loading module doesn't rescan devices. You have to unplug and 
> plug again the device to rescanning happen.

Ok. I'm not sure I did that with standalone modules.

> > Uscanner in kernel:
> > - original -> some kernel messages appear at startup
> >
> > # dmesg | grep uscanner
> > uscanner0:  > 2> on uhub0 uscanner0: at uhub0 port 2 (addr 2) disconnected
> > uscanner0: detached
> 
> It's a disconnect message only.
> 
> > - patched -> some messages about ugen0
> > ugen0: at uhub0 port 2 (addr 2) disconnected
> > ugen0: detached
> 
> It's a disconnect message again only. And it shows that there is no need 
> for patch. Show me the full dmesg with verbose booting, please.

I have put a dmesg dump here (uscanner in kernel) :
http://www.wolfpond.org/dmesg-dfly-1.11-verbose.txt

I have disconnected and reconnected the scanner just after dumping this
file.
There were only this additional messages:

uscanner0: at uhub0 port 2 (addr 2) disconnected
uscanner: ops removed
uscanner0: detached

-- 
Francois Tigeot


Re: USB stack

2008-01-16 Thread Bill Hacker

Hasso Tepper wrote:

Simon 'corecode' Schubert wrote:

Then devices should be probed and if there is a better match than ugen
and if the ugen device is not open, it should be detached from ugen and
attached to the new driver.  Do you think this would be possible?


There is a lot of things that suck in USB stack all BSD's are using at the 
moment. This particular one is one of smallest ones I worry about ;).


There is a light though. There is a new USB stack known as HPS or usb4bsd 
under development in FreeBSD. This particular problem is already resolved 
there as well. Also two biggest problems with current stack - sucking 
isochronous transfer support and sucking ugen.


See these for details:
http://www.turbocat.net/~hselasky/usb4bsd/
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/usb/src/sys/dev/usb

Volunteers to port needed ;P.




Here is a just-discovered oddity to also look for - though I haven't 
tested it on a 'real' *BSD yet.


OS X 10.3.9 PowerBook 17" G4

- USB external kbd.

--  If directly attached to the PowerBook, kbd works when coming out of 
'sleep'.


-- If kbd is attached via an unpowered USB hub, it is ignored when 
coming out of 'sleep', and has to be unplugged/replugged (either 
kbd-to-hub or the hub-to-PowerBook.


This apparently relates to powering-down USB when sleeping, but I cannot 
fathom why there should be the difference exhibited once it awakens.


Anyone able to test for that on DFLY?

Bill


USB stack (was: USB scanner unrecognized ...)

2008-01-16 Thread Hasso Tepper
Simon 'corecode' Schubert wrote:
> Then devices should be probed and if there is a better match than ugen
> and if the ugen device is not open, it should be detached from ugen and
> attached to the new driver.  Do you think this would be possible?

There is a lot of things that suck in USB stack all BSD's are using at the 
moment. This particular one is one of smallest ones I worry about ;).

There is a light though. There is a new USB stack known as HPS or usb4bsd 
under development in FreeBSD. This particular problem is already resolved 
there as well. Also two biggest problems with current stack - sucking 
isochronous transfer support and sucking ugen.

See these for details:
http://www.turbocat.net/~hselasky/usb4bsd/
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/usb/src/sys/dev/usb

Volunteers to port needed ;P.


-- 
Hasso


Re: cvsup

2008-01-16 Thread Joerg Sonnenberger
On Wed, Jan 16, 2008 at 02:35:48AM +, Vincent Stemen wrote:
> I am not clear how to access it.

Try something like the attached script.

Joerg


update.sh
Description: Bourne shell script


Re: USB scanner unrecognized on 1.11-DEVELOPMENT

2008-01-16 Thread Simon 'corecode' Schubert

Sepherosa Ziehau wrote:

On Jan 16, 2008 8:14 PM, Simon 'corecode' Schubert
<[EMAIL PROTECTED]> wrote:

Hasso Tepper wrote:

Francois Tigeot wrote:

However, I found out there's was a difference between a standalone
uscanner module and one compiled in the kernel.

Standalone module:
 - original -> nothing
 - patched -> nothing

Note that loading module doesn't rescan devices. You have to unplug and
plug again the device to rescanning happen.

That sucks.  We should do that, or at least operate on the previously
detected devices.

I think USB devices are different than PCI/cardbus devices;
Unrecognized devices are taken by ugen.


Then devices should be probed and if there is a better match than ugen and 
if the ugen device is not open, it should be detached from ugen and 
attached to the new driver.  Do you think this would be possible?


cheers
  simon

--
Serve - BSD +++  RENT this banner advert  +++ASCII Ribbon   /"\
Work - Mac  +++  space for low €€€ NOW!1  +++  Campaign \ /
Party Enjoy Relax   |   http://dragonflybsd.org  Against  HTML   \
Dude 2c 2 the max   !   http://golden-apple.biz   Mail + News   / \



Re: USB scanner unrecognized on 1.11-DEVELOPMENT

2008-01-16 Thread Sepherosa Ziehau
On Jan 16, 2008 8:14 PM, Simon 'corecode' Schubert
<[EMAIL PROTECTED]> wrote:
> Hasso Tepper wrote:
> > Francois Tigeot wrote:
> >> However, I found out there's was a difference between a standalone
> >> uscanner module and one compiled in the kernel.
> >>
> >> Standalone module:
> >>  - original -> nothing
> >>  - patched -> nothing
> >
> > Note that loading module doesn't rescan devices. You have to unplug and
> > plug again the device to rescanning happen.
>
> That sucks.  We should do that, or at least operate on the previously
> detected devices.

I think USB devices are different than PCI/cardbus devices;
Unrecognized devices are taken by ugen.

Best Regards,
sephe

-- 
Live Free or Die


Re: cvsup

2008-01-16 Thread Simon 'corecode' Schubert

Vincent Stemen wrote:

On 2008-01-15, Simon 'corecode' Schubert <[EMAIL PROTECTED]> wrote:
Yes.  There are a couple of mirrors which serve the cvs repo via rsync. 
For instance use chlamydia.fs.ei.tum.de.  There are more, I guess.


Thanks.  


I just checked the list, but most of the sites say they only mirror
_Daily snapshots and official ISOs_.  The rsync link to the one you
mentioned, *chlamydia.fs.ei.tum.de*, does take you to a web page that
says they have the cvsup collections, but they do not provide the full
path to access them via rsync.


I guess you're expected to find out with rsync yourself :)

You know that you can get a listing with rsync?

sweatshorts % rsync chlamydia.fs.ei.tum.de:: 
   dflysnapDragonFlyBSD daily snapshots

dragonfly-cvs   DragonFly CVS repository
freebsd-cvs FreeBSD CVS repository
netbsd-cvs  NetBSD CVS repository
openbsd-cvs OpenBSD CVS repository
sweatshorts % rsync chlamydia.fs.ei.tum.de::dragonfly-cvs 
   drwxr-xr-x 512 2007/05/07 23:38:22 .

-rwxrwxr-x 321 2003/07/15 06:17:23 fixme
drwxrwxr-x1536 2008/01/16 12:33:43 CVSROOT
drwxrwxr-x 512 2006/06/28 22:24:29 dfports
drwxrwxr-x 512 2007/04/06 22:03:43 doc
drwxrwxr-x 512 2007/12/21 06:39:21 site
drwxrwxr-x 512 2004/06/18 13:23:48 src.sys.alpha.old
drwxrwxr-x1024 2008/01/14 13:39:27 src

Rsync is very slow when you tag a repo, because all the files change, but 
only one line.  It's not really optimized for this task.  But this doesn't 
happen very often, though.


That is interesting.  The rsync docs claim to be very fast and say this

The rsync remote-update protocol allows rsync to transfer just the dif-
ferences between two sets of files across the network connection, using an
efficient  checksum-search  algorithm ...


Well, of course in general it is fast.  But CVS repos are a special case, 
consisting of hundreds of thousands of small RCS text files, which only 
get one line added when the repo is tagged.  A general solution is bound 
to perform worse than a special case solution.



I ran a test transfering 8 text files over the internet that are each about
450K and the performance seems pretty good when I changed just one line in each
file.  In my test I told rsync to use ssh, so the transfer was also encrypted.


CVS repos are different:  Imagine 10 files with an average size of 
4-8KB.  I think rsync has to do 10 network roundtrips to negotiate on 
the changesets to be sent.



Total bytes sent: 31162
Total bytes received: 26842


Considering the fact that you only changed one line per file, that's quite 
a lot.  Plus it doesn't say how many round trips it was needing.



As you can see, it took 9 seconds for a full download, but only less than 1.5
seconds to update them.  That seems reasonably fast to me.  Is cvsup really
faster than that?  I am sceptical that it could be much faster.


Yes, cvsup is way faster in such a case.  Maybe not necessarily for 8 
files, but for 800 for sure.  It pipelines communication, so that there is 
no need to wait for immediate replies, thus saving network roundtrip times.


cheers
  simon

--
Serve - BSD +++  RENT this banner advert  +++ASCII Ribbon   /"\
Work - Mac  +++  space for low €€€ NOW!1  +++  Campaign \ /
Party Enjoy Relax   |   http://dragonflybsd.org  Against  HTML   \
Dude 2c 2 the max   !   http://golden-apple.biz   Mail + News   / \



Re: USB scanner unrecognized on 1.11-DEVELOPMENT

2008-01-16 Thread Simon 'corecode' Schubert

Hasso Tepper wrote:

Francois Tigeot wrote:

However, I found out there's was a difference between a standalone
uscanner module and one compiled in the kernel.

Standalone module:
- original -> nothing
- patched -> nothing


Note that loading module doesn't rescan devices. You have to unplug and 
plug again the device to rescanning happen.


That sucks.  We should do that, or at least operate on the previously 
detected devices.


cheers
  simon

--
Serve - BSD +++  RENT this banner advert  +++ASCII Ribbon   /"\
Work - Mac  +++  space for low €€€ NOW!1  +++  Campaign \ /
Party Enjoy Relax   |   http://dragonflybsd.org  Against  HTML   \
Dude 2c 2 the max   !   http://golden-apple.biz   Mail + News   / \



Re: USB scanner unrecognized on 1.11-DEVELOPMENT

2008-01-16 Thread Hasso Tepper
Francois Tigeot wrote:
> However, I found out there's was a difference between a standalone
> uscanner module and one compiled in the kernel.
>
> Standalone module:
>   - original -> nothing
>   - patched -> nothing

Note that loading module doesn't rescan devices. You have to unplug and 
plug again the device to rescanning happen.

> Uscanner in kernel:
>   - original -> some kernel messages appear at startup
>
>   # dmesg | grep uscanner
>   uscanner0:  2> on uhub0 uscanner0: at uhub0 port 2 (addr 2) disconnected
>   uscanner0: detached

It's a disconnect message only.

>   - patched -> some messages about ugen0
>   ugen0: at uhub0 port 2 (addr 2) disconnected
>   ugen0: detached

It's a disconnect message again only. And it shows that there is no need 
for patch. Show me the full dmesg with verbose booting, please.


-- 
Hasso


Re: USB scanner unrecognized on 1.11-DEVELOPMENT

2008-01-16 Thread Francois Tigeot
On Tue, Jan 15, 2008 at 02:23:15PM +, Steve O'Hara-Smith wrote:
> On Tue, 15 Jan 2008 15:02:33 +0100
> Matthias Schmidt <[EMAIL PROTECTED]> wrote:
> 
> > * Steve O'Hara-Smith wrote:
> > > 
> > >   It may help to know that I am running a recent 1.11.0 (Jan 12 or
> > > thereabouts) which does recognise my Perfection 1240U and it works
> > > (quick test, I haven't had to use it in a while).
> > 
> > Could you please post the dmesg output (if there is any :)?
> 
>   Sure - there's not a lot:
> 
> uscanner0:  on
> uhub3
> 
>   Also from usbdevs -v 
> 
>   port 2 addr 6: full speed, self powered, config 1, Perfection1240
> (0x010b), EPSON(0x04b8), rev 1.04

On my setup, even with a kernel printing an uscanner0 line in dmesg, the
scanner never appears in the usbdevs output:

# usbdevs -v
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x), 
Intel(0x), rev 1.00
 port 1 powered
 port 2 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x), 
Intel(0x), rev 1.00
 port 1 powered
 port 2 addr 2: low speed, power 98 mA, config 1, USB-PS/2 Optical 
Mouse(0xc012), Logitech(0x046d), rev 13.20
Controller /dev/usb2:
addr 1: full speed, self powered, config 1, UHCI root hub(0x), 
Intel(0x), rev 1.00
 port 1 powered
 port 2 powered
Controller /dev/usb3:
addr 1: full speed, self powered, config 1, UHCI root hub(0x), 
Intel(0x), rev 1.00
 port 1 powered
 port 2 powered

-- 
Francois Tigeot


Re: USB scanner unrecognized on 1.11-DEVELOPMENT

2008-01-16 Thread Francois Tigeot
On Tue, Jan 15, 2008 at 11:06:21AM +0100, Matthias Schmidt wrote:
> 
> * Francois Tigeot wrote:
> > 
> > I recently upgraded a machine from Dragonfly 1.10.1 to a recent
> > 1.11.0-DEVELOPMENT (as of today).
> > 
> > An Epson Perfection 1240U USB scanner which worked fine with 1.10.1 is now
> > unrecognized. Pluging and unpluging the USB cord doesn't result in any
> > kernel message visible in dmesg.
> 
> According to the sources we have an entry for your model:
> 
>  {{ USB_DEVICE(0x04b8, 0x010b) }, 0 }, /* Perfection 1240U/1240Photo */
> 
> I'm currently preparing a mass update of USB quirks and it seems like
> the vendor ID of Epson has changed.  The new entry from FreeBSD device
> ID list looks like this:
> 
>  {{ USB_DEVICE(0x03f8, 0x010b) }, 0 }, /* Epson Perfection 1240U / */
> 
> Note the difference between 0x04b8 and 0x03f8.  To check that I'm not
> wrong, you could change the ID in the uscanner source, recompile the
> module, reload it and check again if the scanner is detected:

I tried it and it didn't change anything: no kernel messages either.

However, I found out there's was a difference between a standalone
uscanner module and one compiled in the kernel.

Standalone module:
- original -> nothing
- patched -> nothing

Uscanner in kernel:
- original -> some kernel messages appear at startup

# dmesg | grep uscanner
uscanner0:  
on uhub0
uscanner0: at uhub0 port 2 (addr 2) disconnected
uscanner0: detached

- patched -> some messages about ugen0
ugen0: at uhub0 port 2 (addr 2) disconnected
ugen0: detached

There's definitely something fishy going there.

-- 
Francois Tigeot