Hi,
I received the following error in the kernel log while trying to use the
3Ware command line management utility (tw_cli):
ioctl32(tw_cli:10922): Unknown cmd fd(3) cmd(0000001f){00} arg(081892d0)
on /dev/twe0
The following patch against 193 adds the missing ioctls and allows the
application to work. I'm not sure if this is the proper approach, but
it works for all of my testing.
Mike
--- ia32_ioctl.c 2003-10-03 14:32:09.000000000 -0700
+++ ia32_ioctl.new 2004-02-02 13:42:55.000000000 -0800
@@ -112,7 +112,21 @@
#include
On Wed, 04 Feb 2004 14:12:45 -0800
Michael Madore
Hi,
I received the following error in the kernel log while trying to use the 3Ware command line management utility (tw_cli):
ioctl32(tw_cli:10922): Unknown cmd fd(3) cmd(0000001f){00} arg(081892d0) on /dev/twe0
The following patch against 193 adds the missing ioctls and allows the application to work. I'm not sure if this is the proper approach, but it works for all of my testing.
The problem is that the 3ware ioctls are broken. The emulation subsystem requires unique ioctl numbers (normally generated using the _IO*() macros using a subsystem ID) but they just used 1,2,3+. It may work for you here and it's fine if you don't have anything else with similarly broken ioctl numbers, but I cannot add this to the main kernel. I hear 3ware are working on a 64bit version of the utility so that may eventually fix it. Also you can use the "3dmd" tool, which uses scsi generic and should work without emulation. -Andi
Andi Kleen wrote:
On Wed, 04 Feb 2004 14:12:45 -0800 Michael Madore
wrote: Hi,
I received the following error in the kernel log while trying to use the 3Ware command line management utility (tw_cli):
ioctl32(tw_cli:10922): Unknown cmd fd(3) cmd(0000001f){00} arg(081892d0) on /dev/twe0
The following patch against 193 adds the missing ioctls and allows the application to work. I'm not sure if this is the proper approach, but it works for all of my testing.
The problem is that the 3ware ioctls are broken. The emulation subsystem requires unique ioctl numbers (normally generated using the _IO*() macros using a subsystem ID) but they just used 1,2,3+. It may work for you here and it's fine if you don't have anything else with similarly broken ioctl numbers, but I cannot add this to the main kernel.
Ok, thanks for the explanation. I was wondering why there where no _IO*() macros in the driver.
I hear 3ware are working on a 64bit version of the utility so that may eventually fix it. Also you can use the "3dmd" tool, which uses scsi generic and should work without emulation.
A 64 bit version would be the best solution. "3dmd" works fine, but it's nice to have a command line tool as well. Mike
On Wed, 04 Feb 2004 14:12:45 -0800
Michael Madore
Hi,
I received the following error in the kernel log while trying to use the 3Ware command line management utility (tw_cli):
ioctl32(tw_cli:10922): Unknown cmd fd(3) cmd(0000001f){00} arg(081892d0) on /dev/twe0
The following patch against 193 adds the missing ioctls and allows the application to work. I'm not sure if this is the proper approach, but it works for all of my testing.
The problem is that the 3ware ioctls are broken. The emulation subsystem requires unique ioctl numbers (normally generated using the _IO*() macros using a subsystem ID) but they just used 1,2,3+. It may work for you here and it's fine if you don't have anything else with similarly broken ioctl numbers, but I cannot add this to the main kernel. I hear 3ware are working on a 64bit version of the utility so that may eventually fix it. Also you can use the "3dmd" tool, which uses scsi generic and should work without emulation. -Andi
participants (2)
-
Andi Kleen
-
Michael Madore