* IC Plus Corp IC Plus IP1000
@ 2007-05-27 15:11 Peter Rasmussen
2007-06-13 2:21 ` Jeff Garzik
0 siblings, 1 reply; 6+ messages in thread
From: Peter Rasmussen @ 2007-05-27 15:11 UTC (permalink / raw)
To: netdev
I am not on this list, but found this address on:
http://linux-net.osdl.org/index.php/Mailing_Lists.
My question is regarding the ethernet controller (from lspci):
Sundance Technology Inc / IC Plus Corp IC Plus IP1000 Family Gigabit
Ethernet (rev 41)
that seems to have a driver for it published on:
http://www.icplus.com.tw/driver-pp-IP1000A.html
Unfortunately I am not able to build it as described.
I wonder if it at some time will be included in the standard Linux kernel?
I am of course interested because my main board has it built in, so I
would be willing to test it.
Thanks,
Peter
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: IC Plus Corp IC Plus IP1000
2007-05-27 15:11 IC Plus Corp IC Plus IP1000 Peter Rasmussen
@ 2007-06-13 2:21 ` Jeff Garzik
2007-06-13 21:16 ` Peter Rasmussen
0 siblings, 1 reply; 6+ messages in thread
From: Jeff Garzik @ 2007-06-13 2:21 UTC (permalink / raw)
To: Peter Rasmussen; +Cc: netdev
Peter Rasmussen wrote:
> I am not on this list, but found this address on:
> http://linux-net.osdl.org/index.php/Mailing_Lists.
>
> My question is regarding the ethernet controller (from lspci):
>
> Sundance Technology Inc / IC Plus Corp IC Plus IP1000 Family Gigabit
> Ethernet (rev 41)
>
> that seems to have a driver for it published on:
>
> http://www.icplus.com.tw/driver-pp-IP1000A.html
>
> Unfortunately I am not able to build it as described.
>
> I wonder if it at some time will be included in the standard Linux kernel?
> I am of course interested because my main board has it built in, so I
> would be willing to test it.
Use the 'sundance' driver that's been in the kernel for quite a while.
Jeff
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: IC Plus Corp IC Plus IP1000
2007-06-13 2:21 ` Jeff Garzik
@ 2007-06-13 21:16 ` Peter Rasmussen
0 siblings, 0 replies; 6+ messages in thread
From: Peter Rasmussen @ 2007-06-13 21:16 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
Thank you for your suggestion.
I do however, have the following issues, which is also why I searched
Google for help on it.
1.The Sundance driver is in the 100mbit section, implying that it won't
work with 1gbit.
2.When I first started up the server I am using with the ethernet
device, it didn't detect it, even with the Sundance driver compiled in
to the kernel, so I gave up on it.
3.Now I would like to extend the server with another ethernet device,
and I would prefer to use what is already installed instead of having to
buy another additonal ethernet board.
4.While searching for the driver code with Google, it seemed that
several people would like to see a IC Plus Corp IC Plus IP1000 driver in
the kernel, and nowhere did I see that using the present Sundance driver
was adequate.
5.I am not able to reboot this server too often (it is a live web
server) so I would like to prepare as much as possible before rebooting it.
So, does your suggestion include:
1.The possibility to use the device in gigabit mode?
2.How to tweak the present Sundance driver to better detect a "IC Plus
Corp IC Plus IP1000" board?
3.Or *is* the Sundance driver supposed to be a generic driver for all
their boards, including >100mbit?
If you can tell me about that, or give me pointers to figure it out, I'd
be much obliged!
Thanks,
Peter
Jeff Garzik wrote:
> Peter Rasmussen wrote:
>> I am not on this list, but found this address on:
>> http://linux-net.osdl.org/index.php/Mailing_Lists.
>>
>> My question is regarding the ethernet controller (from lspci):
>>
>> Sundance Technology Inc / IC Plus Corp IC Plus IP1000 Family Gigabit
>> Ethernet (rev 41)
>>
>> that seems to have a driver for it published on:
>>
>> http://www.icplus.com.tw/driver-pp-IP1000A.html
>>
>> Unfortunately I am not able to build it as described.
>>
>> I wonder if it at some time will be included in the standard Linux
>> kernel?
>> I am of course interested because my main board has it built in, so I
>> would be willing to test it.
>
> Use the 'sundance' driver that's been in the kernel for quite a while.
>
> Jeff
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: IC Plus Corp IC Plus IP1000
@ 2007-06-13 1:57 linux
2007-06-13 18:24 ` linux
0 siblings, 1 reply; 6+ messages in thread
From: linux @ 2007-06-13 1:57 UTC (permalink / raw)
To: netdev; +Cc: linux
plr@udgaard.com wrote:
> I wonder if it at some time will be included in the standard Linux kernel?
> I am of course interested because my main board has it built in, so I
> would be willing to test it.
"Me, too!"
This has been discussed sporadically for the last year, and I can confirm
that the driver source from the manufacturer's web page is starting
to suffer bit rot, but after patching the more egregious breakage
(references to <linux/config.h>, UTS_RELEASE and pci_module_init()
stop it from compiling), it works.
It doesn't even spew "eth0: excessive work at interrupt" when running
arp-scan, unlike certain in-tree drivers. :-)
I got a bit of a rude shock today after doing an emergency replacement
on a socket 939 motherboard and blandly assuring a Windows-experienced
co-worker that despite a change from nForce to VIA KT890 chipset, the
system should "just work".
One round of floppy shuffle and code-fixing later, my co-worker is
not impressed by the Linux version of "Have driver disk". :-)
Is anyone able to push it to completion? I have a vague idea that the
vendor lost interest. (Should I write to Greg K-H and tell him
"Free Linux Driver Developed!"?)
I can play testing guinea-pig if needed.
Thanks!
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: IC Plus Corp IC Plus IP1000
@ 2007-06-14 2:43 linux
0 siblings, 0 replies; 6+ messages in thread
From: linux @ 2007-06-14 2:43 UTC (permalink / raw)
To: plr; +Cc: linux, netdev
The following hacks to bring it up to date got the vendor-supplied
driver working for me. This is just fixing the things the compiler
complained about; there may be other issues, but they don't seem to
interfere with basic funtionality.
diff --git a/Makefile b/Makefile
index c91b384..31e4172 100644
--- a/Makefile
+++ b/Makefile
@@ -77,10 +77,10 @@ ifeq ($(kernelFlag26),kernel26x)
EXTRA_CFLAGS+=$(MAPPING_MODE)
all:
- $(MAKE) -C $(KernelBuildDir) SUBDIRS=$(PWD) modules
+ $(MAKE) -C $(KernelBuildDir) M=$(PWD)
install:
- install -m 644 -c ipg.$(kernelExtension) $(kernelMisc)
+ $(MAKE) -C $(KernelBuildDir) M=$(PWD) modules_install
ipg-objs:=$(OBJS)
obj-m+=$(TARGET)
diff --git a/ipg.h b/ipg.h
index 2d184d4..cefe5c8 100644
--- a/ipg.h
+++ b/ipg.h
@@ -98,8 +98,8 @@
*/
-#include <linux/config.h>
#include <linux/version.h>
+#include <linux/utsrelease.h>
#include <linux/module.h>
#if ((LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)) && defined(MODVERSIONS))
diff --git a/ipg_main.c b/ipg_main.c
index c39ff4a..3a0dfd4 100644
--- a/ipg_main.c
+++ b/ipg_main.c
@@ -172,9 +172,11 @@ int ipg_io_config(IPG_DEVICE_TYPE *ipg_ethernet_device);
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
void ipg_interrupt_handler(int ipg_irq, void *device_instance,
struct pt_regs *regs);
-#else
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
static irqreturn_t ipg_interrupt_handler(int ipg_irq, void *device_instance,
struct pt_regs *regs);
+#else
+static irqreturn_t ipg_interrupt_handler(int ipg_irq, void *device_instance);
#endif
void ipg_nic_txcleanup(IPG_DEVICE_TYPE *ipg_ethernet_device);
@@ -1425,9 +1427,11 @@ int ipg_io_config(IPG_DEVICE_TYPE *ipg_ethernet_device)
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
void ipg_interrupt_handler(int ipg_irq, void *device_instance,
struct pt_regs *regs)
-#else
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
static irqreturn_t ipg_interrupt_handler(int ipg_irq, void *device_instance,
struct pt_regs *regs)
+#else
+static irqreturn_t ipg_interrupt_handler(int ipg_irq, void *device_instance)
#endif
{
int error;
@@ -1957,7 +1961,7 @@ int ipg_nic_open(IPG_DEVICE_TYPE *ipg_ethernet_device)
*/
if ((error = request_irq(sp->ipg_pci_device->irq,
&ipg_interrupt_handler,
- SA_SHIRQ,
+ IRQF_SHARED,
ipg_ethernet_device->name,
ipg_ethernet_device)) < 0)
{
@@ -4041,7 +4045,10 @@ int init_module(void)
#endif
IPG_DEBUG_MSG("init_module\n");
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
+ return pci_register_driver(&ipg_pci_driver);
+#elif LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
return pci_module_init(&ipg_pci_driver);
#else
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-06-14 2:44 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-27 15:11 IC Plus Corp IC Plus IP1000 Peter Rasmussen
2007-06-13 2:21 ` Jeff Garzik
2007-06-13 21:16 ` Peter Rasmussen
-- strict thread matches above, loose matches on Subject: below --
2007-06-13 1:57 linux
2007-06-13 18:24 ` linux
2007-06-14 2:43 linux
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).