Re: Tricky USB device.

2005-04-09 Thread David Gilbert
> "Bernd" == Bernd Walter <[EMAIL PROTECTED]> writes:

Bernd> Sounds simple.  Tried with lower case characters?  Otherwise I
Bernd> would say sniff a working driver - for windows there is at
Bernd> least one good freeware USB sniffer avaiable.

HA!  Found the problem --- thank-you everyone.  Aparently, this little
device expects a 0x01 as the first byte of any command.  Heh.  Works
now.

So if you need dry contact I/O ... this seems to work for FreeBSD...

/* Test the Ontrack ADU208 */
/* www.ontrak.net */

#include 
#include 
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
int bytes, fd;
char *s1 = "\001MK255", *s2 = "\001MK0", *s = s1, buf[256];

if((fd = open("/dev/ugen0.1", O_RDWR)) < 0)
err(1, "Cannot open device");

while(1)
{
bytes = write(fd, s, strlen(s));

printf("wrote %d bytes %s\n", bytes, s);

sleep(1);

if(s == s1)
s = s2;
else
s = s1;
}

return 0;
}

Dave.

-- 

|David Gilbert, Independent Contractor.   | Two things can only be |
|Mail:   [EMAIL PROTECTED]|  equal if and only if they |
|http://daveg.ca  |   are precisely opposite.  |
=GLO
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Nvidia nforce2 sata controller

2005-04-09 Thread Lucas Holt
Someone suggested I check out 6-Current as many nvidia controllers were 
added.  i do see nforce3 & nforce4 sata controllers in there.  I do not 
see the pci id for the nforce2 sata controller on my motherboard, 
however.

Lucas Holt
[EMAIL PROTECTED]

FoolishGames.com  (Jewel Fan Site)
JustJournal.com (Free blogging)
FoolishGames.net (Enemy Territory IoM site)
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Tricky USB device.

2005-04-09 Thread Bernd Walter
On Sat, Apr 09, 2005 at 05:48:43PM -0400, David Gilbert wrote:
> > "Bernd" == Bernd Walter <[EMAIL PROTECTED]> writes:
> 
> Bernd> Then the device is still working and just has nothing to send.
> Bernd> Would be helpfull to know something about the protocol used on
> Bernd> the endpoints.
> 
> It's pretty simple.  I'm sending (right now) MK255 and MK0 with 1
> second sleeps in between.  The device has 8 relays and I should be
> triggering them on and off (The MK command doesn't have output --- so
> I'm not looking for it).  Here's a snippet from the manual:
> 
> The relays may be SET ( ON ) or RESET ( OFF ) individually or as an 8 bit 
> port. The relay commands
> include;
> 
> SKn SETS ( ON ) relay specified by n ( n = 0-7 )
> # of Bytes 3
> Response NONE
> Example; SK2 ;closes contact K2
[...]

Sounds simple.
Tried with lower case characters?
Otherwise I would say sniff a working driver - for windows there is
at least one good freeware USB sniffer avaiable.

-- 
B.Walter   BWCThttp://www.bwct.de
[EMAIL PROTECTED]  [EMAIL PROTECTED]

___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Tricky USB device.

2005-04-09 Thread David Gilbert
> "Bernd" == Bernd Walter <[EMAIL PROTECTED]> writes:

Bernd> Then the device is still working and just has nothing to send.
Bernd> Would be helpfull to know something about the protocol used on
Bernd> the endpoints.

It's pretty simple.  I'm sending (right now) MK255 and MK0 with 1
second sleeps in between.  The device has 8 relays and I should be
triggering them on and off (The MK command doesn't have output --- so
I'm not looking for it).  Here's a snippet from the manual:

The relays may be SET ( ON ) or RESET ( OFF ) individually or as an 8 bit port. 
The relay commands
include;

SKn SETS ( ON ) relay specified by n ( n = 0-7 )
# of Bytes 3
Response NONE
Example; SK2 ;closes contact K2

RKn RESETS ( OFF ) relay specified by n ( n= 0 - 7 )
# of Bytes 3
Response NONE
Example; RK1 ;opens contact K1

MKddd Sets PORTK to decimal value ddd ( ddd= 0 to 255 ) ( K7-MSB, K0 = LSB )
# of Bytes 3 , 4 or 5
Response NONE
Example; MK128 ;SETS K7, RESETS K0 - K6.

RPKn Returns status of relay specified by n ( n= 0 - 7 )
# of Bytes 4
Response 1 byte ( 0 or 1 )
Example; RPK2 ;Relay K2 is closed.
1 ( response)

PK Returns status of PORT K in decimal format.
# of Bytes 2
Response 3 bytes ( 000 to 255 in decimal )
Example; PK ;K0 -K3 are SET ( ON ), K4-K7 are RESET ( OFF ).
015 ( response)

Dave.

-- 

|David Gilbert, Independent Contractor.   | Two things can only be |
|Mail:   [EMAIL PROTECTED]|  equal if and only if they |
|http://daveg.ca  |   are precisely opposite.  |
=GLO
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Tricky USB device.

2005-04-09 Thread Bernd Walter
On Sat, Apr 09, 2005 at 05:05:31PM -0400, David Gilbert wrote:
> > "Bernd" == Bernd Walter <[EMAIL PROTECTED]> writes:
> 
> Bernd> Yes - you must use 1 - there is only one out-endpoint.  0x81 is
> Bernd> for receiving data and endpoint 0 is the mandandory control
> Bernd> endpoint.  Interrupt Endpoints are not variable in size.  Both
> Bernd> interrupt endpoints are 8 Bytes, so you must read and write
> Bernd> exact 8 Bytes per transfer - 5 shouldn't work for USB compliant
> Bernd> devices.
> 
> I took your earlier advice and just opened ugen0.1 O_RDWR.  I've tried
> sending 5 and 8 byte strings to it without effect.  To make the 8 byte
> strings, I added spaces to the end of my 5 byte strings.  I've also
> got a proper multitester now to verify operation.
> 
> Bernd> Depends on the device's firmware.  I wouldn't be surprised if
> Bernd> the whole device just hangs after receiving bogus data - it
> Bernd> seems to be broken in many points.  But it may block if the
> Bernd> device has nothing to send.  An easy way to check out is using
> Bernd> tools like usbdevs -v and see if it hangs when accessing this
> Bernd> device.
> 
> usbdevs -v and udesc_dump both operate fine after trying this.

Then the device is still working and just has nothing to send.
Would be helpfull to know something about the protocol used on the
endpoints.

-- 
B.Walter   BWCThttp://www.bwct.de
[EMAIL PROTECTED]  [EMAIL PROTECTED]

___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


ggate failures.

2005-04-09 Thread David Gilbert
I have two systems, each with 4 300 gig SATA disks.  Let's call them
m0 and m1.  M1 exports it's disks with ggated ... on two private GigE
networks.  M0, on those same two GigE networks, imports them with
ggatec.  M0, then does the following:

Mirror   Disks
==   =
s0   ggate0 da0s1g
s1   ggate1 da1s1g
s2   ggate2 da2s1g
s3   ggate3 da3s1g

And then:

concat  Disks
==  =
v0  s0 s1 s2 s3

(so v0 is a concatination of 4 mirrors that consist of a local and
remote disk, each)

Now... This all works, and we create a filesystem on v0.  The problem
arises that whenever a lot of activity occurs on v0 (untaring a copy
of /usr is sufficient), the ggate links break down.  An example
message from the dmesg:

GEOM_MIRROR: Request failed (error=5). ggate2[WRITE(offset=25989184, 
length=8192)]

Now... I don't know a lot about ggate, but this appears trivial to
trigger.  Has anyone tried similar configurations and is there any
wisdom about ggate configurations?

Dave.

-- 

|David Gilbert, Independent Contractor.   | Two things can only be |
|Mail:   [EMAIL PROTECTED]|  equal if and only if they |
|http://daveg.ca  |   are precisely opposite.  |
=GLO
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Tricky USB device.

2005-04-09 Thread David Gilbert
> "Bernd" == Bernd Walter <[EMAIL PROTECTED]> writes:

Bernd> Yes - you must use 1 - there is only one out-endpoint.  0x81 is
Bernd> for receiving data and endpoint 0 is the mandandory control
Bernd> endpoint.  Interrupt Endpoints are not variable in size.  Both
Bernd> interrupt endpoints are 8 Bytes, so you must read and write
Bernd> exact 8 Bytes per transfer - 5 shouldn't work for USB compliant
Bernd> devices.

I took your earlier advice and just opened ugen0.1 O_RDWR.  I've tried
sending 5 and 8 byte strings to it without effect.  To make the 8 byte
strings, I added spaces to the end of my 5 byte strings.  I've also
got a proper multitester now to verify operation.

Bernd> Depends on the device's firmware.  I wouldn't be surprised if
Bernd> the whole device just hangs after receiving bogus data - it
Bernd> seems to be broken in many points.  But it may block if the
Bernd> device has nothing to send.  An easy way to check out is using
Bernd> tools like usbdevs -v and see if it hangs when accessing this
Bernd> device.

usbdevs -v and udesc_dump both operate fine after trying this.

Dave.

-- 

|David Gilbert, Independent Contractor.   | Two things can only be |
|Mail:   [EMAIL PROTECTED]|  equal if and only if they |
|http://daveg.ca  |   are precisely opposite.  |
=GLO
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Nvidia nforce2 sata controller

2005-04-09 Thread Søren Schmidt
Lucas Holt wrote:
I have a MSI k7n2 delta2 lsr motherboard (msicomputer.com).  Odd as it 
sounds, it has a nvidia sata controller.  From a post on current in 
december, I learned it uses the pata controller and another chip in 
front of it.  The sata controller is not detected by 5-STABLE and i'd 
like to see it included.  I noticed the how to write a problem report 
documentation recommended bouncing things off a mailing list first.  
Here i am.

I've played around with the sources of the ata driver and managed to get 
the card to report properly with hints from that thread in december on 
current.  I also figured out that having the controller initialize with 
the sata init routine instead of the via init seemed to make it work and 
negotiate SA150.

i'm still having a few stability problems with the system.  I don't know 
if its the driver  or my NIC.  It tends to only happen when i'm using 
the network (cvsup, etc) so i'm not sure.
You should try out -current as it has support for the nVidia chips 
already...

--
-Søren
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Nvidia nforce2 sata controller

2005-04-09 Thread Lucas Holt
I have a MSI k7n2 delta2 lsr motherboard (msicomputer.com).  Odd as it 
sounds, it has a nvidia sata controller.  From a post on current in 
december, I learned it uses the pata controller and another chip in 
front of it.  The sata controller is not detected by 5-STABLE and i'd 
like to see it included.  I noticed the how to write a problem report 
documentation recommended bouncing things off a mailing list first.  
Here i am.

I've played around with the sources of the ata driver and managed to 
get the card to report properly with hints from that thread in december 
on current.  I also figured out that having the controller initialize 
with the sata init routine instead of the via init seemed to make it 
work and negotiate SA150.

i'm still having a few stability problems with the system.  I don't 
know if its the driver  or my NIC.  It tends to only happen when i'm 
using the network (cvsup, etc) so i'm not sure.

in /usr/src/sys/dev/ata/  i made the following changes
ata-chipset.c:
The ata_nvidia_ident function now contains this
int
ata_nvidia_ident(device_t dev)
{
struct ata_pci_controller *ctlr = device_get_softc(dev);
struct ata_chip_id *idx;
static struct ata_chip_id ids[] =
{{ ATA_NFORCE1, 0, AMDNVIDIA, NVIDIA, ATA_UDMA5, "nVidia 
nForce" },
 { ATA_NFORCE2, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia 
nForce2" },
 { ATA_NFORCE2_MCP, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia 
nForce2 MCP" },
 { ATA_NFORCE2_MCP_S, 0, AMDNVIDIA, NVIDIA, ATA_SA150, "nVidia 
nForce2 MCP SATA" },
 { ATA_NFORCE3, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia 
nForce3" },
 { ATA_NFORCE3_PRO, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia 
nForce3 Pro" },
 { ATA_NFORCE3_MCP, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia 
nForce3 MCP" },
 { ATA_NFORCE4, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia 
nForce4" },
 { 0, 0, 0, 0, 0, 0}};

I added  { ATA_NFORCE2_MCP_S, 0, AMDNVIDIA, NVIDIA, ATA_SA150, "nVidia 
nForce2 MCP SATA" },

Then in ata_nvidia_chipinit(device_t dev)
 if (ctlr->chip->max_dma >= ATA_SA150)
ctlr->setmode = ata_sata_setmode;
else
ctlr->setmode = ata_via_family_setmode;
before there was only the else clause.
Finally ata-pci.h has one new definition
#define ATA_NFORCE2_MCP_S   0x008e10de
(i used _S for sata in this case.. )
I realize this isn't packaged well.  I'd appreciate any comments on the 
patch or how to get it to a point i could use send-pr or have someone 
commit it.  It would make my life easier.  oh, i cvsup'd RELENG_5 
yesterday and built the system with it.  Thats what the changes were 
done on.

Here's some output from atacontrol after i made the changes:
deathstar# atacontrol list
ATA channel 0:
Master: acd0  ATA/ATAPI revision 0
Slave:   no device present
ATA channel 1:
Master:  no device present
Slave:   no device present
ATA channel 2:
Master:  ad4  Serial ATA v1.0
Slave:   no device present
ATA channel 3:
Master:  ad6  Serial ATA v1.0
Slave:   no device present
deathstar# atacontrol mode 2
Master = SATA150
Slave  = BIOSPIO
deathstar#
Lucas Holt
[EMAIL PROTECTED]

FoolishGames.com  (Jewel Fan Site)
JustJournal.com (Free blogging)
FoolishGames.net (Enemy Territory IoM site)
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Call for FreeBSD status reports

2005-04-09 Thread Max Laier
On Saturday 09 April 2005 17:18, Diomidis Spinellis wrote:
> Max Laier wrote:
> > The new features from last time (categories and task-list) will be
> > available, again.  As a reminder the available categories are listed
> > bellow.  Please feel free to suggest additional entries:
> >
> > proj   - Projects (non-specific)
> > docs   - Documentation
> > kern   - Kernel
> > arch   - Architectures
> > ports  - Ports
> > vendor - Vendor / 3rd party software
> > misc   - Miscellaneous
>
> By comparing the categories to those of GNATS three I see missing are:
>
> bin   - Userland programs

Yes, I will add that.  Send your reports! ;)

> www   - FreeBSD web site

In my opinion, status reports about changes there fit the "docs" category.  
Too fine-grained classification does not make too much sense here nor do I 
except more than one or two reports in this category.  This is why I think 
it's justified to keep it merged with "docs".

> advocacy- Spreading out the word

This one is a common dominator and idea behind the status reports.  Special 
advocacy events - such as conference announcement - should probably go to 
"misc" where everybody will see them.  I am not convinced that we need this 
separately.

However, nothing is finally here, if people submit a lot "foobar" reports, we 
will create a category for them.

-- 
/"\  Best regards,  | [EMAIL PROTECTED]
\ /  Max Laier  | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | [EMAIL PROTECTED]
/ \  ASCII Ribbon Campaign  | Against HTML Mail and News


pgpoGvH2N0iVF.pgp
Description: PGP signature