All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: increase base memory
From: Stas Sergeev @ 2002-12-16 18:09 UTC (permalink / raw)
  To: linux-msdos

Hello.

Sergey Suleymanov wrote:
> Stas> Increasing the base memory above 640Kb is definitely the bad
> Stas> idea, as it is used very rarely even in a pure DOS and will
> Stas> cost you the inability to display graphics.
> By the way, 0.99.13 (pre-1.0) works well with 704k base. ;)
How "well" did it work? Working without
graphics is definitely not "well" and I
bet some graphics modes should be broken
(if not all). Furthermore the programs
expect the video mem to be where it must
be, so in that case it will just write
to its own memory (corrupting it) trying
to write to a video memory.
This must be rather safe for the text
modes however, so as the text buffer
starts at 0xb000 IIRC.
There is a bug in a parser: it calls
stop_video() for some reasons and it
changes the base mem to 640 when started
under console. This must be resolved
somehow, I guess Bart knows what's
going on there.
But if it would be me, I'd just disallow
more than 640Kb by erroring and terminating
dosemu right away.
I haven't got an answer yet, why is this
really necessary? Are you always using a
"vidram" under real dos? I guess you are
not, but then why should that be used under
dosemu? That's weird and unsafe, why anyone
should be willing to do this? You can use
UMB and HMA, is it not enough?
Well, if that is just a comparison with
0.99.13, then you are right, there is a bug
in a parser.y.in now which must be fixed,
but that still doesn't mean that >640 should
be used on a regular basis after this is fixed.


^ permalink raw reply

* Re: 2.5.52 and modules (lots of unresolved symbols)?
From: Melchior FRANZ @ 2002-12-16 18:13 UTC (permalink / raw)
  To: linux-kernel
In-Reply-To: <Pine.LNX.4.50L0.0212161207430.1154-100000@dust.ebiz-gw.wintek.com>

* Alex Goddard -- Monday 16 December 2002 19:32:
> Huh.  Like I said, reinstalling the mod tools and doing a rebuild after a
> make clean cleared it up for me.
> 
> Weird.

Not really. The problem is, that the kernel Makefile contains
an absolute path for depmod (/sbin/depmod) which doesn't seem
like a good idea. I you are installing the module-init-tools
to /usr/local/sbin, they don't take precedence over the old
depmod et al.

Why doesn't the Makefile simply define "DEPMOD = depmod"
instead of "DEPMOD = /sbin/depmod" (and likewise for
genksyms)? 

m.

^ permalink raw reply

* Re: Alcatel speedtouch USB driver and SMP.
From: Colin Paul Adams @ 2002-12-16  9:02 UTC (permalink / raw)
  To: linux-kernel
In-Reply-To: <20021216051300.GB12884@kroah.com>

>>>>> "Greg" == Greg KH <greg@kroah.com> writes:
    >>  drivers/usb/misc/speedtouch.c

    Greg> Ah good, you're using one that the source is available for
    Greg> :) I think the developer has said it will work on SMP
    Greg> machines, but what problems are you having, and have you
    Greg> asked the author of the code?

I haven't any problems yet, as I haven't bought the modem yet. I don't
want to if it is going to give me problems.

The 1.4 version of the driver (before integration into 2.5 series
kernel), is supposed to not work with SMP kernels (that's why I asked
in the first place). So I contacted the author (Johan Verrept) to ask on the status,
and he said he thought it was probably OK now, as it was in the 2.5
kernel.

So I grabbed the 2.5.51 sources and looked at the see, and could see
no mention of a change to fix SMP. So I then contacted Richard Purdie,
who was the last person to make a change to the source. He said he
didn't know.

So, is anyone using it on SMP?
-- 
Colin Paul Adams
Preston Lancashire

^ permalink raw reply

* RE: Determining Button State
From: Grover, Andrew @ 2002-12-16 18:03 UTC (permalink / raw)
  To: 'James D Strandboge', Pavel Machek
  Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

> From: James D Strandboge [mailto:jstrand1-aYIB8uWIUb2Vn7q6wjsIow@public.gmane.org] 

> That's cool.  Is there anyway to poll the status of those led's from
> linux (eg through acpi)?  An even better way would be to ask the bios
> the state of the lid when an event is generated-- or better 
> still modify
> the acpi code to generate 0 for closed and 1 for open (or just be
> consistent about even and odd).

The lid event should just be a signal that OSPM needs to re-read the lid's
status. Reading our lid /proc interface should call the _LID method (which
returns 0 is closed, non-zero if open) and display that info, but that has
yes to be implemented, although it should be pretty easy to do.

Regards -- Andy


-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/

^ permalink raw reply

* VFS: Unable to mount root fs on 01:00 ...
From: James Don @ 2002-12-16 18:01 UTC (permalink / raw)
  To: Embedded Linux PPC List


Hi,

I just got my 2.4 kernel running on my 860 board. However I have now
encountered a new problem "Kernel panic: VFS: Unable to mount root fs on
01:00".

There are lots of posts regarding this problem but no one "seems" to have
posted a solution and then claim afterwards that it works ... so I
regretfully must ask again ...

Here's some info about my setup:

1.)	ppcboot 1.1.6
2.)	bootargs  "root =/dev/ram rw"
3.)	CONFIG_BLK_DEV_LOOP=y
4.)	CONFIG_BLK_DEV_RAM=y
5.)	CONFIG_BLK_DEV_RAM_SIZE=4096
6.)	CONFIG_BLK_DEV_INITRD=y
7.)	Tftpboot ... downloads my kernel to 0x100000
8.)	setenv loadaddr 0x00200000
9.)	setenv bootfile simple-initrd
10.)	tftpboot ... down load init rd
11.)	imi 0x00100000 0x00200000 ... images are ok
12.)	bootm 0x00100000 0x00200000 ... kernel starts ...
13.)	Kernel panic: VFS: Unable to mount root fs on 01:00

Thanks for any help at all,
Jim

kdb->bi_busfreq = 40000000
## Loading RAMDisk Image at 00200000 ...
   Image Name:   Simple Ramdisk Image
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    1459535 Bytes = 1425 kB = 1 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## initrd at 0x00200040 ... 0x0036458E (len=1459535=0x16454F)
   Loading Ramdisk to 00dda000, end 00f3e54f ... OK
## Transferring control to Linux (at address 00000000) ...
Linux version 2.4.20-pre8 (jgdon@gomba.ca) (gcc version 2.95.3 20010315
(release
)) #58 Mon Dec 16 09:33:30 EST 2002
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/ram rw
Decrementer Frequency = 300000000/60
Calibrating delay loop... 79.66 BogoMIPS
Memory: 15352k available (572k kernel code, 220k data, 36k init, 0k highmem)
Dentry cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Starting kswapd
i2c-core.o: i2c core module
i2c-dev.o: i2c /dev entries driver module
i2c-core.o: driver i2c-dev dummy driver registered.
i2c-proc.o version 2.6.1 (20010825)
CPM UART driver version 0.03
ttyS00 at 0x0280 is a SMC
pty: 256 Unix98 ptys configured
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
INFO<mount_block_root>:name = /dev/root ... fs_names = ext2
Kernel panic: VFS: Unable to mount root fs on 01:00
 <0>Rebooting in 180 seconds..

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply

* Re: aix7xxx_old woes in 2.5
From: Mark Haverkamp @ 2002-12-16 18:01 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-scsi
In-Reply-To: <3DFC06C9.19AFADE2@digeo.com>

On Sat, 2002-12-14 at 20:36, Andrew Morton wrote:
> ho hum.
> 
> It just doesn't start at all:
> 
> scsi HBA driver <NULL> didn't set max_sectors, please fix the template<6>(scsi0) <Adaptec AIC-7892 Ultra 160/m SCSI host adapter> found at PCI 3/4/0
> (scsi0) Wide Channel, SCSI ID=7, 32/255 SCBs
> (scsi0) Downloading sequencer code... 396 instructions downloaded
> (scsi1) <Adaptec AIC-7880 Ultra SCSI host adapter> found at PCI 0/10/0
> (scsi1) Wide Channel, SCSI ID=7, 16/255 SCBs
> (scsi1) Downloading sequencer code... 436 instructions downloaded
> scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.2.6/5.2.0
>        <Adaptec AIC-7892 Ultra 160/m SCSI host adapter>
> scsi: Device offlined - not ready or command retry failed after error recovery: host 0 channel 0 id 0 lun 0
> scsi: Device offlined - not ready or command retry failed after error recovery: host 0 channel 0 id 1 lun 0
> scsi: Device offlined - not ready or command retry failed after error recovery: host 0 channel 0 id 2 lun 0
> scsi: Device offlined - not ready or command retry failed after error recovery: host 0 channel 0 id 3 lun 0
> scsi: Device offlined - not ready or command retry failed after error recovery: host 0 channel 0 id 4 lun 0
> scsi: Device offlined - not ready or command retry failed after error recovery: host 0 channel 0 id 5 lun 0
> scsi: Device offlined - not ready or command retry failed after error recovery: host 0 channel 0 id 6 lun 0
> scsi: Device offlined - not ready or command retry failed after error recovery: host 0 channel 0 id 8 lun 0
> 
> (The above took three minutes or more)
> 
> 
> Note that I have set the machine's BIOS up to not run external BIOSes, so the
> Adaptec firmware is not being used.  Reboot times are unacceptable otherwise.
> 
> This doesn't seem to offend the 2.4 aic7xxx driver, nor the 2.5 aic7xxx 75%
> of the time...
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

I had some problems like this with a megaraid card recently.  Once I
turned off ACPI in the config, things started working OK.


-- 
Mark Haverkamp <markh@osdl.org>


^ permalink raw reply

* [PATCH] Hop Limit match/target for IPv6
From: Maciej Soltysiak @ 2002-12-16 18:01 UTC (permalink / raw)
  To: netfilter-devel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 194 bytes --]

Hello,

attached is a patch to the netfilter tree to add match/target support
for IPv6 Hop Limit field. Based on Harald's TTL match and target.

Please apply 8)

Best Regards,
Maciej Soltysiak


[-- Attachment #2: HL match/target for ipv6 --]
[-- Type: TEXT/plain, Size: 20351 bytes --]

diff -Nru netfilter.orig/patch-o-matic/base/HL.patch.ipv6 netfilter/patch-o-matic/base/HL.patch.ipv6
--- netfilter.orig/patch-o-matic/base/HL.patch.ipv6	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/patch-o-matic/base/HL.patch.ipv6	2002-12-16 18:05:55.000000000 +0100
@@ -0,0 +1,135 @@
+diff -Nru linux-2.4.20/include/linux/netfilter_ipv6/ip6t_HL.h linux.new/include/linux/netfilter_ipv6/ip6t_HL.h
+--- linux-2.4.20/include/linux/netfilter_ipv6/ip6t_HL.h	1970-01-01 01:00:00.000000000 +0100
++++ linux.new/include/linux/netfilter_ipv6/ip6t_HL.h	2002-12-16 17:12:29.000000000 +0100
+@@ -0,0 +1,22 @@
++/* Hop Limit modification module for ip6tables
++ * Maciej Soltysiak <solt@dns.toxicfilms.tv> */
++ * Based on HW's TTL module */
++
++#ifndef _IP6T_HL_H
++#define _IP6T_HL_H
++
++enum {
++	IP6T_HL_SET = 0,
++	IP6T_HL_INC,
++	IP6T_HL_DEC
++};
++
++#define IP6T_HL_MAXMODE	IP6T_HL_DEC
++
++struct ip6t_HL_info {
++	u_int8_t	mode;
++	u_int8_t	hop_limit;
++};
++
++
++#endif
+diff -Nru linux-2.4.20/net/ipv6/netfilter/ip6t_HL.c linux.new/net/ipv6/netfilter/ip6t_HL.c
+--- linux-2.4.20/net/ipv6/netfilter/ip6t_HL.c	1970-01-01 01:00:00.000000000 +0100
++++ linux.new/net/ipv6/netfilter/ip6t_HL.c	2002-12-16 17:08:23.000000000 +0100
+@@ -0,0 +1,105 @@
++/* 
++ * Hop Limit modification target for ip6tables
++ * Maciej Soltysiak <solt@dns.toxicfilms.tv>
++ * Based on HW's TTL module
++ *
++ * This software is distributed under the terms of GNU GPL
++ */
++
++#include <linux/module.h>
++#include <linux/skbuff.h>
++#include <linux/ip.h>
++
++#include <linux/netfilter_ipv6/ip6_tables.h>
++#include <linux/netfilter_ipv6/ip6t_HL.h>
++
++MODULE_AUTHOR("Maciej Soltysiak <solt@dns.toxicfilms.tv>");
++MODULE_DESCRIPTION("IP tables Hop Limit modification module");
++MODULE_LICENSE("GPL");
++
++static unsigned int ip6t_hl_target(struct sk_buff **pskb, unsigned int hooknum,
++		const struct net_device *in, const struct net_device *out,
++		const void *targinfo, void *userinfo)
++{
++	struct ipv6hdr *ip6h = (*pskb)->nh.ipv6h;
++	const struct ip6t_HL_info *info = targinfo;
++	u_int16_t diffs[2];
++	int new_hl;
++			 
++	switch (info->mode) {
++		case IP6T_HL_SET:
++			new_hl = info->hop_limit;
++			break;
++		case IP6T_HL_INC:
++			new_hl = ip6h->hop_limit + info->hop_limit;
++			if (new_hl > 255)
++				new_hl = 255;
++			break;
++		case IP6T_HL_DEC:
++			new_hl = ip6h->hop_limit + info->hop_limit;
++			if (new_hl < 0)
++				new_hl = 0;
++			break;
++		default:
++			new_hl = ip6h->hop_limit;
++			break;
++	}
++
++	if (new_hl != ip6h->hop_limit) {
++		diffs[0] = htons(((unsigned)ip6h->hop_limit) << 8) ^ 0xFFFF;
++		ip6h->hop_limit = new_hl;
++		diffs[1] = htons(((unsigned)ip6h->hop_limit) << 8);
++	}
++
++	return IP6T_CONTINUE;
++}
++
++static int ip6t_hl_checkentry(const char *tablename,
++		const struct ip6t_entry *e,
++		void *targinfo,
++		unsigned int targinfosize,
++		unsigned int hook_mask)
++{
++	struct ip6t_HL_info *info = targinfo;
++
++	if (targinfosize != IP6T_ALIGN(sizeof(struct ip6t_HL_info))) {
++		printk(KERN_WARNING "HL: targinfosize %u != %Zu\n",
++				targinfosize,
++				IP6T_ALIGN(sizeof(struct ip6t_HL_info)));
++		return 0;	
++	}	
++
++	if (strcmp(tablename, "mangle")) {
++		printk(KERN_WARNING "HL: can only be called from \"mangle\" table, not \"%s\"\n", tablename);
++		return 0;
++	}
++
++	if (info->mode > IP6T_HL_MAXMODE) {
++		printk(KERN_WARNING "HL: invalid or unknown Mode %u\n", 
++			info->mode);
++		return 0;
++	}
++
++	if ((info->mode != IP6T_HL_SET) && (info->hop_limit == 0)) {
++		printk(KERN_WARNING "HL: increment/decrement doesn't make sense with value 0\n");
++		return 0;
++	}
++	
++	return 1;
++}
++
++static struct ip6t_target ip6t_HL = { { NULL, NULL }, "HL", 
++	ip6t_hl_target, ip6t_hl_checkentry, NULL, THIS_MODULE };
++
++static int __init init(void)
++{
++	return ip6t_register_target(&ip6t_HL);
++}
++
++static void __exit fini(void)
++{
++	ip6t_unregister_target(&ip6t_HL);
++}
++
++module_init(init);
++module_exit(fini);
diff -Nru netfilter.orig/patch-o-matic/base/HL.patch.ipv6.config.in netfilter/patch-o-matic/base/HL.patch.ipv6.config.in
--- netfilter.orig/patch-o-matic/base/HL.patch.ipv6.config.in	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/patch-o-matic/base/HL.patch.ipv6.config.in	2002-12-16 18:32:27.000000000 +0100
@@ -0,0 +1,4 @@
+  dep_tristate '  Packet filtering' CONFIG_IP6_NF_FILTER $CONFIG_IP6_NF_IPTABLES 
+  if [ "$CONFIG_IP6_NF_FILTER" != "n" ]; then
+    dep_tristate '    HL target support' CONFIG_IP6_NF_TARGET_HL $CONFIG_IP6_NF_FILTER
+  fi
diff -Nru netfilter.orig/patch-o-matic/base/HL.patch.ipv6.configure.help netfilter/patch-o-matic/base/HL.patch.ipv6.configure.help
--- netfilter.orig/patch-o-matic/base/HL.patch.ipv6.configure.help	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/patch-o-matic/base/HL.patch.ipv6.configure.help	2002-12-16 18:02:32.000000000 +0100
@@ -0,0 +1,8 @@
+CONFIG_IP6_NF_TARGET_LOG
+HL target support
+CONFIG_IP6_NF_TARGET_HL
+  This option adds a `HL' target, which allows you to modify the value of
+  IPv6 Hop Limit field.
+
+  If you want to compile it as a module, say M here and read
+  <file:Documentation/modules.txt>.  If unsure, say `N'.
diff -Nru netfilter.orig/patch-o-matic/base/HL.patch.ipv6.help netfilter/patch-o-matic/base/HL.patch.ipv6.help
--- netfilter.orig/patch-o-matic/base/HL.patch.ipv6.help	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/patch-o-matic/base/HL.patch.ipv6.help	2002-12-16 18:23:09.000000000 +0100
@@ -0,0 +1,10 @@
+Author: Maciej Soltysiak <solt@dns.toxicfilms.tv>
+Status: Works for me.
+
+This allows the user to set the IPv6 Hop Limit value on a packet or
+to increment or decrement it by a given value.
+
+Example:
+# ip6tables -t mangle -A OUTPUT -j HL --hl-inc 1
+# ip6tables -t mangle -A INPUT -j HL --hl-eq 64
+# ip6tables -t mangle -A OUTPUT -j HL --hl-dec 2
diff -Nru netfilter.orig/patch-o-matic/base/HL.patch.ipv6.makefile netfilter/patch-o-matic/base/HL.patch.ipv6.makefile
--- netfilter.orig/patch-o-matic/base/HL.patch.ipv6.makefile	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/patch-o-matic/base/HL.patch.ipv6.makefile	2002-12-16 18:10:45.000000000 +0100
@@ -0,0 +1,2 @@
+obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
+obj-$(CONFIG_IP_NF_TARGET_HL) += ipt_HL.o
diff -Nru netfilter.orig/patch-o-matic/base/hl.patch.ipv6 netfilter/patch-o-matic/base/hl.patch.ipv6
--- netfilter.orig/patch-o-matic/base/hl.patch.ipv6	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/patch-o-matic/base/hl.patch.ipv6	2002-12-16 18:05:19.000000000 +0100
@@ -0,0 +1,104 @@
+diff -Nru linux-2.4.20/include/linux/netfilter_ipv6/ip6t_hl.h linux.new/include/linux/netfilter_ipv6/ip6t_hl.h
+--- linux-2.4.20/include/linux/netfilter_ipv6/ip6t_hl.h	1970-01-01 01:00:00.000000000 +0100
++++ linux.new/include/linux/netfilter_ipv6/ip6t_hl.h	2002-12-16 17:11:56.000000000 +0100
+@@ -0,0 +1,22 @@
++/* ip6tables module for matching the Hop Limit value
++ * Maciej Soltysiak <solt@dns.toxicfilms.tv>
++ * Based on HW's ttl module */
++
++#ifndef _IP6T_HL_H
++#define _IP6T_HL_H
++
++enum {
++	IP6T_HL_EQ = 0,		/* equals */
++	IP6T_HL_NE,		/* not equals */
++	IP6T_HL_LT,		/* less than */
++	IP6T_HL_GT,		/* greater than */
++};
++
++
++struct ip6t_hl_info {
++	u_int8_t	mode;
++	u_int8_t	hop_limit;
++};
++
++
++#endif
+diff -Nru linux-2.4.20/net/ipv6/netfilter/ip6t_hl.c linux.new/net/ipv6/netfilter/ip6t_hl.c
+--- linux-2.4.20/net/ipv6/netfilter/ip6t_hl.c	1970-01-01 01:00:00.000000000 +0100
++++ linux.new/net/ipv6/netfilter/ip6t_hl.c	2002-12-16 17:09:53.000000000 +0100
+@@ -0,0 +1,74 @@
++/*
++ * Hop Limit matching module
++ * Maciej Soltysiak <solt@dns.toxicfilms.tv>
++ * Based on HW's ttl module
++ *
++ * This software is distributed under the terms  GNU GPL
++ */
++
++#include <linux/module.h>
++#include <linux/skbuff.h>
++
++#include <linux/netfilter_ipv6/ip6t_hl.h>
++#include <linux/netfilter_ipv6/ip6_tables.h>
++
++MODULE_AUTHOR("Maciej Soltysiak <solt@dns.toxicfilms.tv>");
++MODULE_DESCRIPTION("IP tables Hop Limit matching module");
++MODULE_LICENSE("GPL");
++
++static int match(const struct sk_buff *skb, const struct net_device *in,
++		 const struct net_device *out, const void *matchinfo,
++		 int offset, const void *hdr, u_int16_t datalen,
++		 int *hotdrop)
++{
++	const struct ip6t_hl_info *info = matchinfo;
++	const struct ipv6hdr *ip6h = skb->nh.ipv6h;
++
++	switch (info->mode) {
++		case IP6T_HL_EQ:
++			return (ip6h->hop_limit == info->hop_limit);
++			break;
++		case IP6T_HL_NE:
++			return (!(ip6h->hop_limit == info->hop_limit));
++			break;
++		case IP6T_HL_LT:
++			return (ip6h->hop_limit < info->hop_limit);
++			break;
++		case IP6T_HL_GT:
++			return (ip6h->hop_limit > info->hop_limit);
++			break;
++		default:
++			printk(KERN_WARNING "ip6t_hl: unknown mode %d\n", 
++				info->mode);
++			return 0;
++	}
++
++	return 0;
++}
++
++static int checkentry(const char *tablename, const struct ip6t_ip *ip,
++		      void *matchinfo, unsigned int matchsize,
++		      unsigned int hook_mask)
++{
++	if (matchsize != IP6T_ALIGN(sizeof(struct ip6t_hl_info)))
++		return 0;
++
++	return 1;
++}
++
++static struct ip6t_match hl_match = { { NULL, NULL }, "hl", &match,
++		&checkentry, NULL, THIS_MODULE };
++
++static int __init init(void)
++{
++	return ip6t_register_match(&hl_match);
++}
++
++static void __exit fini(void)
++{
++	ip6t_unregister_match(&hl_match);
++
++}
++
++module_init(init);
++module_exit(fini);
diff -Nru netfilter.orig/patch-o-matic/base/hl.patch.ipv6.config.in netfilter/patch-o-matic/base/hl.patch.ipv6.config.in
--- netfilter.orig/patch-o-matic/base/hl.patch.ipv6.config.in	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/patch-o-matic/base/hl.patch.ipv6.config.in	2002-12-16 18:08:55.000000000 +0100
@@ -0,0 +1,2 @@
+  dep_tristate '  MAC address match support' CONFIG_IP6_NF_MATCH_MAC $CONFIG_IP6_NF_IPTABLES
+  dep_tristate '  HL match support' CONFIG_IP6_NF_MATCH_HL $CONFIG_IP6_NF_IPTABLES
diff -Nru netfilter.orig/patch-o-matic/base/hl.patch.ipv6.configure.help netfilter/patch-o-matic/base/hl.patch.ipv6.configure.help
--- netfilter.orig/patch-o-matic/base/hl.patch.ipv6.configure.help	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/patch-o-matic/base/hl.patch.ipv6.configure.help	2002-12-16 18:04:01.000000000 +0100
@@ -0,0 +1,8 @@
+CONFIG_IP6_NF_TARGET_LOG
+HL match support
+CONFIG_IP6_NF_MATCH_HL
+  This option adds a `hl' match, which allows you match the value of
+  the IPv6 Hop Limit field.
+
+  If you want to compile it as a module, say M here and read
+  <file:Documentation/modules.txt>.  If unsure, say `N'.
diff -Nru netfilter.orig/patch-o-matic/base/hl.patch.ipv6.help netfilter/patch-o-matic/base/hl.patch.ipv6.help
--- netfilter.orig/patch-o-matic/base/hl.patch.ipv6.help	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/patch-o-matic/base/hl.patch.ipv6.help	2002-12-16 18:22:25.000000000 +0100
@@ -0,0 +1,9 @@
+Author: Maciej Soltysiak <solt@dns.toxicfilms.tv>
+Status: Works for me.
+
+This allows the user to match the IPv6 Hop Limit value on a packet.
+
+Examples:
+# ip6tables -A INPUT -m hl --hl-eq 63 -j LOG --log-prefix "Blah: "
+# ip6tables -A FORWARD -m hl --hl-gt 64 -j DROP
+# ip6tables -A OUTPUT -m hl --hl-lt 64 -j ACCEPT
diff -Nru netfilter.orig/patch-o-matic/base/hl.patch.ipv6.makefile netfilter/patch-o-matic/base/hl.patch.ipv6.makefile
--- netfilter.orig/patch-o-matic/base/hl.patch.ipv6.makefile	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/patch-o-matic/base/hl.patch.ipv6.makefile	2002-12-16 18:11:03.000000000 +0100
@@ -0,0 +1,2 @@
+obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
+obj-$(CONFIG_IP_NF_MATCH_HL) += ipt_hl.o
diff -Nru netfilter.orig/userspace/extensions/Makefile netfilter/userspace/extensions/Makefile
--- netfilter.orig/userspace/extensions/Makefile	2002-12-09 10:31:23.000000000 +0100
+++ netfilter/userspace/extensions/Makefile	2002-12-16 16:57:44.000000000 +0100
@@ -1,7 +1,7 @@
 #! /usr/bin/make
 
 PF_EXT_SLIB:=ah conntrack dscp ecn esp helper icmp length limit mac mark multiport owner pkttype standard state tcp tcpmss tos ttl udp unclean DNAT DSCP ECN LOG MARK MASQUERADE MIRROR REDIRECT REJECT SAME SNAT TARPIT TCPMSS TOS ULOG
-PF6_EXT_SLIB:=eui64 icmpv6 length limit mac mark multiport owner standard tcp udp LOG MARK
+PF6_EXT_SLIB:=eui64 icmpv6 length limit mac mark multiport owner standard tcp udp LOG MARK hl HL
 
 # The following may not be present, but compile them anyway.
 PF_EXT_SLIB+=TTL iplimit
diff -Nru netfilter.orig/userspace/extensions/libip6t_HL.c netfilter/userspace/extensions/libip6t_HL.c
--- netfilter.orig/userspace/extensions/libip6t_HL.c	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/userspace/extensions/libip6t_HL.c	2002-12-16 17:05:57.000000000 +0100
@@ -0,0 +1,164 @@
+/*
+ * IPv6 Hop Limit Target module
+ * Maciej Soltysiak <solt@dns.toxicfilms.tv>
+ * Based on HW's ttl target
+ * This program is distributed under the terms of GNU GPL
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <ip6tables.h>
+
+#include <linux/netfilter_ipv6/ip6_tables.h>
+#include <linux/netfilter_ipv6/ip6t_HL.h>
+
+#define IP6T_HL_USED	1
+
+static void init(struct ip6t_entry_target *t, unsigned int *nfcache) 
+{
+}
+
+static void help(void) 
+{
+	printf(
+"HL target v%s options\n"
+"  --hl-set value		Set HL to <value>\n"
+"  --hl-dec value		Decrement HL by <value>\n"
+"  --hl-inc value		Increment HL by <value>\n"
+, IPTABLES_VERSION);
+}
+
+static int parse(int c, char **argv, int invert, unsigned int *flags,
+		const struct ip6t_entry *entry,
+		struct ip6t_entry_target **target)
+{
+	struct ip6t_HL_info *info = (struct ip6t_HL_info *) (*target)->data;
+	u_int8_t value;
+
+	if (*flags & IP6T_HL_USED) {
+		exit_error(PARAMETER_PROBLEM, 
+				"Can't specify HL option twice");
+	}
+
+	if (!optarg) 
+		exit_error(PARAMETER_PROBLEM, 
+				"HL: You must specify a value");
+
+	if (check_inverse(optarg, &invert, NULL, 0))
+		exit_error(PARAMETER_PROBLEM,
+				"HL: unexpected `!'");
+	
+	value = atoi(optarg);
+
+	switch (c) {
+
+		case '1':
+			info->mode = IP6T_HL_SET;
+			break;
+
+		case '2':
+			if (value == 0) {
+				exit_error(PARAMETER_PROBLEM,
+					"HL: decreasing by 0?");
+			}
+
+			info->mode = IP6T_HL_DEC;
+			break;
+
+		case '3':
+			if (value == 0) {
+				exit_error(PARAMETER_PROBLEM,
+					"HL: increasing by 0?");
+			}
+
+			info->mode = IP6T_HL_INC;
+			break;
+
+		default:
+			return 0;
+
+	}
+	
+	info->hop_limit = value;
+	*flags |= IP6T_HL_USED;
+
+	return 1;
+}
+
+static void final_check(unsigned int flags)
+{
+	if (!(flags & IP6T_HL_USED))
+		exit_error(PARAMETER_PROBLEM,
+				"HL: You must specify an action");
+}
+
+static void save(const struct ip6t_ip6 *ip,
+		const struct ip6t_entry_target *target)
+{
+	const struct ip6t_HL_info *info = 
+		(struct ip6t_HL_info *) target->data;
+
+	switch (info->mode) {
+		case IP6T_HL_SET:
+			printf("--hl-set ");
+			break;
+		case IP6T_HL_DEC:
+			printf("--hl-dec ");
+			break;
+
+		case IP6T_HL_INC:
+			printf("--hl-inc ");
+			break;
+	}
+	printf("%u ", info->hop_limit);
+}
+
+static void print(const struct ip6t_ip6 *ip,
+		const struct ip6t_entry_target *target, int numeric)
+{
+	const struct ip6t_HL_info *info =
+		(struct ip6t_HL_info *) target->data;
+
+	printf("HL ");
+	switch (info->mode) {
+		case IP6T_HL_SET:
+			printf("set to ");
+			break;
+		case IP6T_HL_DEC:
+			printf("decrement by ");
+			break;
+		case IP6T_HL_INC:
+			printf("increment by ");
+			break;
+	}
+	printf("%u ", info->hop_limit);
+}
+
+static struct option opts[] = {
+	{ "hl-set", 1, 0, '1' },
+	{ "hl-dec", 1, 0, '2' },
+	{ "hl-inc", 1, 0, '3' },
+	{ 0 }
+};
+
+static
+struct ip6tables_target HL = { NULL, 
+	"HL",
+	IPTABLES_VERSION,
+	IP6T_ALIGN(sizeof(struct ip6t_HL_info)),
+	IP6T_ALIGN(sizeof(struct ip6t_HL_info)),
+	&help,
+	&init,
+	&parse,
+	&final_check,
+	&print,
+	&save,
+	opts 
+};
+
+void _init(void)
+{
+	register_target6(&HL);
+}
diff -Nru netfilter.orig/userspace/extensions/libip6t_hl.c netfilter/userspace/extensions/libip6t_hl.c
--- netfilter.orig/userspace/extensions/libip6t_hl.c	1970-01-01 01:00:00.000000000 +0100
+++ netfilter/userspace/extensions/libip6t_hl.c	2002-12-16 17:05:14.000000000 +0100
@@ -0,0 +1,177 @@
+/*
+ * IPv6 Hop Limit matching module
+ * Maciej Soltysiak <solt@dns.toxicfilms.tv>
+ * Based on HW's ttl match
+ * This program is released under the terms of GNU GPL
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <getopt.h>
+#include <ip6tables.h>
+
+#include <linux/netfilter_ipv6/ip6_tables.h>
+#include <linux/netfilter_ipv6/ip6t_hl.h>
+
+static void help(void) 
+{
+	printf(
+"HL match v%s options:\n"
+"  --hl-eq value	Match hop limit value\n"
+"  --hl-lt value	Match HL < value\n"
+"  --hl-gt value	Match HL > value\n"
+, IPTABLES_VERSION);
+}
+
+static void init(struct ip6t_entry_match *m, unsigned int *nfcache)
+{
+	/* caching not yet implemented */
+	*nfcache |= NFC_UNKNOWN;
+}
+
+static int parse(int c, char **argv, int invert, unsigned int *flags,
+		const struct ip6t_entry *entry, unsigned int *nfcache,
+		struct ip6t_entry_match **match)
+{
+	struct ip6t_hl_info *info = (struct ip6t_hl_info *) (*match)->data;
+	u_int8_t value;
+
+	check_inverse(optarg, &invert, &optind, 0);
+	value = atoi(argv[optind-1]);
+
+	if (*flags) 
+		exit_error(PARAMETER_PROBLEM, 
+				"Can't specify HL option twice");
+
+	if (!optarg)
+		exit_error(PARAMETER_PROBLEM,
+				"hl: You must specify a value");
+	switch (c) {
+		case '2':
+			if (invert)
+				info->mode = IP6T_HL_NE;
+			else
+				info->mode = IP6T_HL_EQ;
+
+			/* is 0 allowed? */
+			info->hop_limit = value;
+			*flags = 1;
+
+			break;
+		case '3':
+			if (invert) 
+				exit_error(PARAMETER_PROBLEM,
+						"hl: unexpected `!'");
+
+			info->mode = IP6T_HL_LT;
+			info->hop_limit = value;
+			*flags = 1;
+
+			break;
+		case '4':
+			if (invert)
+				exit_error(PARAMETER_PROBLEM,
+						"hl: unexpected `!'");
+
+			info->mode = IP6T_HL_GT;
+			info->hop_limit = value;
+			*flags = 1;
+
+			break;
+		default:
+			return 0;
+
+	}
+
+	return 1;
+}
+
+static void final_check(unsigned int flags)
+{
+	if (!flags) 
+		exit_error(PARAMETER_PROBLEM,
+			"HL match: You must specify one of "
+			"`--hl-eq', `--hl-lt', `--hl-gt");
+}
+
+static void print(const struct ip6t_ip6 *ip, 
+		const struct ip6t_entry_match *match,
+		int numeric)
+{
+	const struct ip6t_hl_info *info = 
+		(struct ip6t_hl_info *) match->data;
+
+	printf("HL match ");
+	switch (info->mode) {
+		case IP6T_HL_EQ:
+			printf("HL == ");
+			break;
+		case IP6T_HL_NE:
+			printf("HL != ");
+			break;
+		case IP6T_HL_LT:
+			printf("HL < ");
+			break;
+		case IP6T_HL_GT:
+			printf("HL > ");
+			break;
+	}
+	printf("%u ", info->hop_limit);
+}
+
+static void save(const struct ip6t_ip6 *ip, 
+		const struct ip6t_entry_match *match)
+{
+	const struct ip6t_hl_info *info =
+		(struct ip6t_hl_info *) match->data;
+
+	switch (info->mode) {
+		case IP6T_HL_EQ:
+			printf("--hl-eq ");
+			break;
+		case IP6T_HL_NE:
+			printf("! --hl-eq ");
+			break;
+		case IP6T_HL_LT:
+			printf("--hl-lt ");
+			break;
+		case IP6T_HL_GT:
+			printf("--hl-gt ");
+			break;
+		default:
+			/* error */
+			break;
+	}
+	printf("%u ", info->hop_limit);
+}
+
+static struct option opts[] = {
+	{ "hl", 1, 0, '2' },
+	{ "hl-eq", 1, 0, '2'},
+	{ "hl-lt", 1, 0, '3'},
+	{ "hl-gt", 1, 0, '4'},
+	{ 0 }
+};
+
+static
+struct ip6tables_match hl = {
+	NULL,
+	"hl",
+	IPTABLES_VERSION,
+	IP6T_ALIGN(sizeof(struct ip6t_hl_info)),
+	IP6T_ALIGN(sizeof(struct ip6t_hl_info)),
+	&help,
+	&init,
+	&parse,
+	&final_check,
+	&print,
+	&save,
+	opts
+};
+
+
+void _init(void) 
+{
+	register_match6(&hl);
+}

^ permalink raw reply

* Re: [parisc-linux] Re: YA pb with PCI IDE (my merge 2.4.21-pre1)
From: Matthew Wilcox @ 2002-12-16 18:01 UTC (permalink / raw)
  To: jsoe0708; +Cc: Alan Cox, Matthew Wilcox, parisc-linux
In-Reply-To: <3DED9BF500001EE1@ocpmta8.freegates.net>

why are you sending word documents?  i'm not reading that shit.

-- 
"It's not Hollywood.  War is real, war is primarily not about defeat or
victory, it is about death.  I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk

^ permalink raw reply

* 2.4.20, tg3 , and 5704
From: Larry Sendlosky @ 2002-12-16 17:59 UTC (permalink / raw)
  To: netdev


Hi,

I got a preproduction Dell server with 2 5704 NICs
onboard. 2.4.20 w/tg3 doesn't want to work. When loaded
the link light on the switch just goes on-off-on-off ...
seeming like it is reinitializing all the time. 

I just did get the current Broadcom drivers sources and
it seems to work ok (ping and ftp works on 100Mb ...)
built against 2.4.20.

I prefer to use tg3 even though I have to backport
to 2.4.18 (not a big fan of the Broadcom code and
it's not part of linux).

thanks for any help

larry

^ permalink raw reply

* Re: [parisc-linux] Re: YA pb with PCI IDE (my merge 2.4.21-pre1)
From: jsoe0708 @ 2002-12-16 17:59 UTC (permalink / raw)
  To: Alan Cox, Matthew Wilcox; +Cc: parisc-linux
In-Reply-To: <1040062813.13837.79.camel@irongate.swansea.linux.org.uk>

[-- Attachment #1: Type: text/plain, Size: 1027 bytes --]


>On Mon, 2002-12-16 at 17:29, Matthew Wilcox wrote:
>> You mean the "IDE but no disks" patch:
>> http://www.uwsg.iu.edu/hypermail/linux/kernel/0212.2/0105.html ?
>> If so, that might be relevant, but have davem's concerns about this IDE
>> code being broken on big-endian machines been addressed?
>
>Platform dependant.
>
>The pre1 code fails if:
>	You use the mmio ops not the pio ops on a big endian box (except PPC)
>	Your pci_resource_foo() returns a value with the top 32bit used
>
>Both of those are fixed in Marcelo's tree, although platforms may need
>to define some functions. Dave has the updated code running on sparc64
>
I do well have to define new function in system.h system_irqsave.h as per
attached doc (please consider revert) and based on mips implementation.
Is it what you spoke about?

Joel


********************************************************************************
Controlez mieux votre consommation Internet...surfez Tiscali Complete...http://tiscali.complete.be




[-- Attachment #2: add_function.diff.doc --]
[-- Type: application/msword, Size: 5885 bytes --]

^ permalink raw reply

* [parisc-linux] Re: YA pb with PCI IDE (my merge 2.4.21-pre1)
From: jsoe0708 @ 2002-12-16 17:48 UTC (permalink / raw)
  To: Alan Cox; +Cc: parisc-linux
In-Reply-To: <1040061866.13786.74.camel@irongate.swansea.linux.org.uk>

>
>On Mon, 2002-12-16 at 17:06, jsoe0708@tiscali.be wrote:
>> Hi Alan,
>> 
>> Worried about ext3 pb, I try to merge parisc kernel 2.4.20-pa14 with
2.4.21-pre1.
>> This merge seems to works fine on a b180l+ (without pci devices).
>> But still boot twice (??) and crash on a b2k with an ide cdrom.
>
>I've sent the PCI fixup patch to linux-kernel. Depending upon how the
>PA-RISC system interfaces to the IDE controller you may also need
>platform specific fixups or to drop the chip into Native mode.
>
>Someone at HP can probably answer that bit
>
Thanks Alan,
    Joel


*************************************************************************=
*******
Controlez mieux votre consommation Internet...surfez Tiscali Complete...h=
ttp://tiscali.complete.be

^ permalink raw reply

* [PATCH] (Was: i4l dtmf errors)
From: Wolfgang Fritz @ 2002-12-16 17:44 UTC (permalink / raw)
  To: linux-kernel
In-Reply-To: <Pine.LNX.4.44.0212141712410.7099-100000@chaos.physics.uiowa.edu>

[-- Attachment #1: Type: text/plain, Size: 1167 bytes --]

<veröffentlicht & per Mail versendet>

Kai Germaschewski wrote:

> On Sat, 14 Dec 2002, Wolfgang Fritz wrote:
> 
>> > it seems isdn4linux detects DTMF tones from normal speach. This is
>> > rather annoying when using i4l for voice with Asterisk.org. This is
>> > tested on all recent kernels
>> 
>> The DTMF detection is broken since kernel 2.0.x. I have a patch for a
>> 2.2 kernel which may manually be applied 2.4 kernels with some manual
>> work. It fixes an overflow problem in the goertzel algorithm (which
>> does the basic tone detection) and changes the algorithm to detect
>> the DTMF pairs. If interested, I can try to recover that patch.
> 
> If you dig out that patch and submit it (to me), I'm pretty sure
> there's a good chance of it going into the official kernel. ISTR there
> was talk about that earlier, but nothing ever happened.
> 
> --Kai
> 

Here is the patch against 2.4.20.

Wolfgang
> 
> -
> To unsubscribe from this list: send the line "unsubscribe
> linux-kernel" in the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: dtmf.patch --]
[-- Type: text/x-diff; name="dtmf.patch", Size: 4835 bytes --]

diff -urN -X dontdiff linux-2.4.20/drivers/isdn/isdn_audio.c linux-2.4.20.mod/drivers/isdn/isdn_audio.c
--- linux-2.4.20/drivers/isdn/isdn_audio.c	Mon Feb 25 20:37:58 2002
+++ linux-2.4.20.mod/drivers/isdn/isdn_audio.c	Mon Dec 16 17:45:39 2002
@@ -169,39 +169,19 @@
 	0x8a, 0x8a, 0x6a, 0x6a, 0xea, 0xea, 0x2a, 0x2a
 };
 
-#define NCOEFF           16     /* number of frequencies to be analyzed       */
-#define DTMF_TRESH    25000     /* above this is dtmf                         */
+#define NCOEFF            8     /* number of frequencies to be analyzed       */
+#define DTMF_TRESH     4000     /* above this is dtmf                         */
 #define SILENCE_TRESH   200     /* below this is silence                      */
-#define H2_TRESH      20000     /* 2nd harmonic                               */
 #define AMP_BITS          9     /* bits per sample, reduced to avoid overflow */
 #define LOGRP             0
 #define HIGRP             1
 
-typedef struct {
-	int grp;                /* low/high group     */
-	int k;                  /* k                  */
-	int k2;                 /* k fuer 2. harmonic */
-} dtmf_t;
-
 /* For DTMF recognition:
  * 2 * cos(2 * PI * k / N) precalculated for all k
  */
 static int cos2pik[NCOEFF] =
 {
-	55812, 29528, 53603, 24032, 51193, 14443, 48590, 6517,
-	38113, -21204, 33057, -32186, 25889, -45081, 18332, -55279
-};
-
-static dtmf_t dtmf_tones[8] =
-{
-	{LOGRP, 0, 1},          /*  697 Hz */
-	{LOGRP, 2, 3},          /*  770 Hz */
-	{LOGRP, 4, 5},          /*  852 Hz */
-	{LOGRP, 6, 7},          /*  941 Hz */
-	{HIGRP, 8, 9},          /* 1209 Hz */
-	{HIGRP, 10, 11},        /* 1336 Hz */
-	{HIGRP, 12, 13},        /* 1477 Hz */
-	{HIGRP, 14, 15}         /* 1633 Hz */
+	55813, 53604, 51193, 48591, 38114, 33057, 25889, 18332
 };
 
 static char dtmf_matrix[4][4] =
@@ -499,6 +479,18 @@
 			sk2 = sk1;
 			sk1 = sk;
 		}
+		/* Avoid overflows */
+		sk >>= 1;
+		sk2 >>= 1;
+		/* compute |X(k)|**2 */
+		/* report overflows. This should not happen. */
+		/* Comment this out if desired */
+		if (sk < -32768 || sk > 32767)
+			printk(KERN_DEBUG
+			       "isdn_audio: dtmf goertzel overflow, sk=%d\n", sk);
+		if (sk2 < -32768 || sk2 > 32767)
+			printk(KERN_DEBUG
+			       "isdn_audio: dtmf goertzel overflow, sk2=%d\n", sk2);
 		result[k] =
 		    ((sk * sk) >> AMP_BITS) -
 		    ((((cos2pik[k] * sk) >> 15) * sk2) >> AMP_BITS) +
@@ -522,28 +514,58 @@
 	int grp[2];
 	char what;
 	char *p;
+	int thresh;
 
 	while ((skb = skb_dequeue(&info->dtmf_queue))) {
 		result = (int *) skb->data;
 		s = info->dtmf_state;
-		grp[LOGRP] = grp[HIGRP] = -2;
+		grp[LOGRP] = grp[HIGRP] = -1;
 		silence = 0;
-		for (i = 0; i < 8; i++) {
-			if ((result[dtmf_tones[i].k] > DTMF_TRESH) &&
-			    (result[dtmf_tones[i].k2] < H2_TRESH))
-				grp[dtmf_tones[i].grp] = (grp[dtmf_tones[i].grp] == -2) ? i : -1;
-			else if ((result[dtmf_tones[i].k] < SILENCE_TRESH) &&
-			      (result[dtmf_tones[i].k2] < SILENCE_TRESH))
+		thresh = 0;
+		for (i = 0; i < NCOEFF; i++) {
+			if (result[i] > DTMF_TRESH) {
+				if (result[i] > thresh)
+					thresh = result[i];
+			}
+			else if (result[i] < SILENCE_TRESH)
 				silence++;
 		}
-		if (silence == 8)
+		if (silence == NCOEFF)
 			what = ' ';
 		else {
-			if ((grp[LOGRP] >= 0) && (grp[HIGRP] >= 0)) {
-				what = dtmf_matrix[grp[LOGRP]][grp[HIGRP] - 4];
-				if (s->last != ' ' && s->last != '.')
-					s->last = what;	/* min. 1 non-DTMF between DTMF */
-			} else
+			if (thresh > 0)	{
+				thresh = thresh >> 4;  /* touchtones must match within 12 dB */
+				for (i = 0; i < NCOEFF; i++) {
+					if (result[i] < thresh)
+						continue;  /* ignore */
+					/* good level found. This is allowed only one time per group */
+					if (i < NCOEFF / 2) {
+						/* lowgroup*/
+						if (grp[LOGRP] >= 0) {
+							// Bad. Another tone found. */
+							grp[LOGRP] = -1;
+							break;
+						}
+						else
+							grp[LOGRP] = i;
+					}
+					else { /* higroup */
+						if (grp[HIGRP] >= 0) { // Bad. Another tone found. */
+							grp[HIGRP] = -1;
+							break;
+						}
+						else
+							grp[HIGRP] = i - NCOEFF/2;
+					}
+				}
+				if ((grp[LOGRP] >= 0) && (grp[HIGRP] >= 0)) {
+					what = dtmf_matrix[grp[LOGRP]][grp[HIGRP]];
+					if (s->last != ' ' && s->last != '.')
+						s->last = what;	/* min. 1 non-DTMF between DTMF */
+				} else
+					what = '.';
+			}
+			else
 				what = '.';
 		}
 		if ((what != s->last) && (what != ' ') && (what != '.')) {
diff -urN -X dontdiff linux-2.4.20/drivers/isdn/isdn_audio.h linux-2.4.20.mod/drivers/isdn/isdn_audio.h
--- linux-2.4.20/drivers/isdn/isdn_audio.h	Fri Dec 21 18:41:54 2001
+++ linux-2.4.20.mod/drivers/isdn/isdn_audio.h	Mon Dec 16 17:42:32 2002
@@ -20,6 +20,7 @@
 
 typedef struct dtmf_state {
 	char last;
+	char llast;
 	int idx;
 	int buf[DTMF_NPOINTS];
 } dtmf_state;

^ permalink raw reply

* Aic7xxx v6.2.23 and Aic79xx v1.3.0Alpha3 in bitkeeper
From: James Bottomley @ 2002-12-16 17:46 UTC (permalink / raw)
  To: linux-scsi; +Cc: Justin T. Gibbs, Christoph Hellwig

I've moved the previous aic7xxx repository to scsi-aic7xxx-old-2.5 and set up 
a brand new one in its place.  This one should have the import of Justin's 
actual patch sets, so should be easier for us all to manage.

The new repository is at

http://linux-scsi.bkbits.net/scsi-aic7xxx-2.5

I've also asked ftpadmin for a place to put up actual diff files for those 
people who can't use bitkeeper.  Will let everyone know when (if) that happens.

James



^ permalink raw reply

* WARNING: unexpected IO-APIC, please mail
From: Antonio Weber @ 2002-12-16 17:45 UTC (permalink / raw)
  To: linux-smp

Hi,

my logs told me that i shall mail this to you, so here is is :)
:

CPU: Before vendor init, caps: 0383fbff c1c3fbff 00000000, vendor = 2
Advanced speculative caching feature present
Disabling advanced speculative caching
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
CPU: After vendor init, caps: 0383fbf7 c1c3fbff 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383fbf7 c1c3fbff 00000000 00000000
CPU:             Common caps: 0383fbf7 c1c3fbff 00000000 00000000
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
CPU: Before vendor init, caps: 0383fbff c1c3fbff 00000000, vendor = 2
Advanced speculative caching feature present
Disabling advanced speculative caching
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
CPU: After vendor init, caps: 0383fbf7 c1c3fbff 00000000 00000000
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383fbf7 c1c3fbff 00000000 00000000
CPU:             Common caps: 0383fbf7 c1c3fbff 00000000 00000000
CPU0: AMD Athlon(tm) XP 2100+ stepping 02
per-CPU timeslice cutoff: 731.26 usecs.
task migration cache decay timeout: 10 msecs.
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Error: only one processor found.
ENABLING IO-APIC IRQs
Setting 2 in the phys_id_present_map
...changing IO-APIC physical APIC ID to 2 ... ok.
init IO_APIC IRQs
 IO-APIC (apicid-pin) 2-0, 2-5, 2-11, 2-20, 2-21, 2-22, 2-23 not connected.
..TIMER: vector=0x31 pin1=2 pin2=0
number of MP IRQ sources: 22.
number of IO-APIC #2 registers: 24.
testing the IO APIC.......................

IO APIC #2......
.... register #00: 02000000
.......    : physical APIC id: 02
.... register #01: 00178002
.......     : max redirection entries: 0017
.......     : PRQ implemented: 1
.......     : IO APIC version: 0002
 WARNING: unexpected IO-APIC, please mail
          to linux-smp@vger.kernel.org
.... IRQ redirection table:
 NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:   
 00 000 00  1    0    0   0   0    0    0    00
 01 001 01  0    0    0   0   0    1    1    39
 02 001 01  0    0    0   0   0    1    1    31
 03 001 01  0    0    0   0   0    1    1    41
 04 001 01  0    0    0   0   0    1    1    49
 05 000 00  1    0    0   0   0    0    0    00
 06 001 01  0    0    0   0   0    1    1    51
 07 001 01  0    0    0   0   0    1    1    59
 08 001 01  0    0    0   0   0    1    1    61
 09 001 01  0    0    0   0   0    1    1    69
 0a 001 01  0    0    0   0   0    1    1    71
 0b 000 00  1    0    0   0   0    0    0    00
 0c 001 01  0    0    0   0   0    1    1    79
 0d 001 01  0    0    0   0   0    1    1    81
 0e 001 01  0    0    0   0   0    1    1    89
 0f 001 01  0    0    0   0   0    1    1    91
 10 001 01  1    1    0   1   0    1    1    99
 11 001 01  1    1    0   1   0    1    1    A1
 12 001 01  1    1    0   1   0    1    1    A9
 13 001 01  1    1    0   1   0    1    1    B1
 14 000 00  1    0    0   0   0    0    0    00
 15 000 00  1    0    0   0   0    0    0    00
 16 000 00  1    0    0   0   0    0    0    00
 17 000 00  1    0    0   0   0    0    0    00
IRQ to pin mappings:
IRQ0 -> 0:2
IRQ1 -> 0:1
IRQ3 -> 0:3
IRQ4 -> 0:4
IRQ6 -> 0:6
IRQ7 -> 0:7
IRQ8 -> 0:8
IRQ9 -> 0:9
IRQ10 -> 0:10
IRQ12 -> 0:12
IRQ13 -> 0:13
IRQ14 -> 0:14
IRQ15 -> 0:15
IRQ16 -> 0:16
IRQ17 -> 0:17
IRQ18 -> 0:18
IRQ19 -> 0:19
.................................... done.
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1733.1063 MHz.
..... host bus clock speed is 266.6316 MHz.
cpu: 0, clocks: 2666316, slice: 1333158
CPU0<T0:2666304,T1:1333136,D:10,S:1333158,C:2666316>
migration_task 0 on cpu=0
PCI: PCI BIOS revision 2.10 entry at 0xfb440, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
Unknown bridge resource 0: assuming transparent
PCI: Using IRQ router default [1106/3099] at 00:00.0
PCI->APIC IRQ transform: (B0,I9,P0) -> 17
PCI->APIC IRQ transform: (B0,I9,P0) -> 17
PCI->APIC IRQ transform: (B0,I12,P0) -> 16
PCI->APIC IRQ transform: (B0,I17,P0) -> 16
PCI->APIC IRQ transform: (B0,I17,P3) -> 19
PCI->APIC IRQ transform: (B0,I17,P3) -> 19
PCI->APIC IRQ transform: (B0,I17,P2) -> 18
PCI->APIC IRQ transform: (B1,I0,P0) -> 16
PCI: Via IRQ fixup for 00:11.2, from 5 to 3
PCI: Via IRQ fixup for 00:11.3, from 5 to 3
isapnp: Scanning for PnP cards...
.........

^ permalink raw reply

* [LARTC] Little off topic
From: David Coello @ 2002-12-16 17:43 UTC (permalink / raw)
  To: lartc

Hi

My question is a little off topic but i think maybe interesting for all. If 
someone hasa bandwidth contrated with a Telekom Company how he can test if 
the real bandwidth bougth is less (or more) than
the says by the Company? Any idea?

Thanks and regards
						David 



_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

^ permalink raw reply

* RE: "iptables: Invalid argument" with kernel 2.4.20
From: Rob Sterenborg @ 2002-12-16 17:42 UTC (permalink / raw)
  To: netfilter
In-Reply-To: <Pine.LNX.4.44.0212161717490.11632-100000@flex.cs.kun.nl>

> by reading the iptables tutorial (version 1.1.11) i've constructed
> a configuration that forwards a port on MYMACHINE to OTHERMACHINE:

I see we are now at 1.1.15 :o)

> # Generated by iptables-save v1.2.6a on Tue Nov 12 17:41:18 2002
> *nat
> :PREROUTING ACCEPT [221:38784]
> :POSTROUTING ACCEPT [78:7025]
> :OUTPUT ACCEPT [72:6769]
>
> -A PREROUTING -d MYMACHINE -p udp -m udp --dport 27960 -j DNAT \
>                            --to-destination OTHERMACHINE:30000
>
> -A POSTROUTING -d OTHERMACHINE -p udp -m udp --dport 30000
> -j SNAT \
>                            --to-source MYMACHINE
>
> -A OUTPUT -d MYMACHINE -p udp -m udp --dport 27960 -j DNAT \
>                            --to-destination OTHERMACHINE:30000
>

If you are matching "-p udp --dport 27960", then why do you use "-m
udp" ?
It seems to me that if "-p udp --dport 27960" matches, it is already
more restrictive than "-m udp".
Could someone tell me when I would want to use "-m udp" ? I searched a
bit and found a lot of scripts using it but didn't find anything that
explains it.

The following works for me (I don't need an OUTPUT rule in the nat
table) :
iptables -A FORWARD -d <pc2-ip> -p udp --dport 30000 -j ACCEPT
ipatbles -t nat -A PREROUTING -d <inet-ip> -p udp --dport 27960 -j
DNAT --to-destination <pc2-ip>:30000


Rob



^ permalink raw reply

* Re: [Linux-ia64] can linux support intel 870 chipset now?
From: Bjorn Helgaas @ 2002-12-16 17:41 UTC (permalink / raw)
  To: linux-ia64
In-Reply-To: <marc-linux-ia64-105590709805565@msgid-missing>

> Hi all, I am new to this maillist. I do not know if
> linux can support intel 870 chipset now? If can,
> where can I download the kernel for it? If someone
> knows, please help me. Thanks in advance!

Download the base kernel from:

    ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2

and the IA64 patch from:

    ftp://ftp.kernel.org/pub/linux/kernel/ports/ia64/v2.4/linux-2.4.20-ia64-021210.diff.gz

This should support the Intel 870 chipset, though I don't have such
a machine and can't test it directly.
-- 
Bjorn Helgaas - bjorn_helgaas at hp.com
Linux and Open Source Lab
Hewlett-Packard Company


^ permalink raw reply

* Re: [parisc-linux] Re: YA pb with PCI IDE (my merge 2.4.21-pre1)
From: Alan Cox @ 2002-12-16 18:20 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: jsoe0708, parisc-linux
In-Reply-To: <20021216172906.B9994@parcelfarce.linux.theplanet.co.uk>

On Mon, 2002-12-16 at 17:29, Matthew Wilcox wrote:
> You mean the "IDE but no disks" patch:
> http://www.uwsg.iu.edu/hypermail/linux/kernel/0212.2/0105.html ?
> If so, that might be relevant, but have davem's concerns about this IDE
> code being broken on big-endian machines been addressed?

Platform dependant.

The pre1 code fails if:
	You use the mmio ops not the pio ops on a big endian box (except PPC)
	Your pci_resource_foo() returns a value with the top 32bit used

Both of those are fixed in Marcelo's tree, although platforms may need
to define some functions. Dave has the updated code running on sparc64

^ permalink raw reply

* Re: Intel P6 vs P7 system call performance
From: Mark Mielke @ 2002-12-16 17:54 UTC (permalink / raw)
  To: Pavel Machek; +Cc: Albert D. Cahalan, linux-kernel, hpa, terje.eggestad
In-Reply-To: <20021216111759.GA24196@atrey.karlin.mff.cuni.cz>

On Mon, Dec 16, 2002 at 12:17:59PM +0100, Pavel Machek wrote:
> > Sure it's dirty. It's also fast, with the only overhead being
> > a few NOPs that could get skipped on syscall return anyway.
> > Patching overhead is negligible, since it only happens when a
> > page is brought in fresh from the disk.
> Yes but "read only" code changing under you... Should better be
> avoided.

Programs that self verify their own CRC may get a little confused (are
there any of these left?), but other than that, 'goto is better avoided'
as well, but sometimes 'goto' is the best answer.

> > The vsyscall stuff costs you on every syscall. It's nice for
> Well, the cost is basically one call. That's not *that* big cost.

Time for benchmarks... :-)

mark

-- 
mark@mielke.cc/markm@ncf.ca/markm@nortelnetworks.com __________________________
.  .  _  ._  . .   .__    .  . ._. .__ .   . . .__  | Neighbourhood Coder
|\/| |_| |_| |/    |_     |\/|  |  |_  |   |/  |_   | 
|  | | | | \ | \   |__ .  |  | .|. |__ |__ | \ |__  | Ottawa, Ontario, Canada

  One ring to rule them all, one ring to find them, one ring to bring them all
                       and in the darkness bind them...

                           http://mark.mielke.cc/


^ permalink raw reply

* Re: [PATCHSET] PC-9800 addtional for 2.5.50-ac1
From: Alan Cox @ 2002-12-16 18:24 UTC (permalink / raw)
  To: Osamu Tomita; +Cc: Linux Kernel Mailing List
In-Reply-To: <3DFC50E9.656B96D0@cinet.co.jp>

On Sun, 2002-12-15 at 09:52, Osamu Tomita wrote:
> NEC PC-9800 subarchitecture support patch updated.
> This is additional patch for 2.5.50-ac1, containing
> updates for already merged files and not merged patch.

Thanks - Im rather busy right now with Christmas and RH deadlines
approaching, but I'll look once I get some time - the changes look nice,
the split of stuff to avoid ifdefs is a lot better


^ permalink raw reply

* Re: Intel sez: Synchronous Flash and XIP is the future -- thoughts?
From: Nicolas Pitre @ 2002-12-16 18:07 UTC (permalink / raw)
  To: Wolfgang Denk; +Cc: David Woodhouse, Paul Nash, Linux-MTD (E-mail)
In-Reply-To: <20021216174357.5DF01C6139@atlas.denx.de>

On Mon, 16 Dec 2002, Wolfgang Denk wrote:

> In message <Pine.LNX.4.44.0212161215550.25780-100000@xanadu.home> you wrote:
> > 
> > Fortunately on ARM the kernel seems to be sane with .text and .rodata 
> > actually being read-only.
> 
> Well, on PowerPC the .text and .rodata is read-only, too (normally) -
> but only after the patching took place :-(

... which is the same as saying it's not read-only with regard to XIP.


Nicolas

^ permalink raw reply

* Re: Notification hooks
From: Ben Collins @ 2002-12-16 17:44 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Larry McVoy, Linus Torvalds, linux-kernel, Larry McVoy
In-Reply-To: <20021216172838.B976@devserv.devel.redhat.com>

On Mon, Dec 16, 2002 at 05:28:38PM +0000, Arjan van de Ven wrote:
> On Mon, Dec 16, 2002 at 12:27:22PM -0500, Ben Collins wrote:
> > > bk help triggers.
> > 
> > Well, if it affects more than just the files I am interested in, I only
> > want the diff for those files, but the changeset log and files-affected
> > for the whole changeset.
> > 
> > If I want the full diff I can go to bkbits or the archive of the commit
> > list.
> 
> well grepdiff and filterdiff can do that I bet... 
> filterdiff takes a wildcard and only lets patches through that touch files
> that match this wildcard...

For all the people that suggested subscribing to the commit list, guess
what, I am.

Problem is that my changeset isn't even listed there. Not a very
dependable way to get that info.

-- 
Debian     - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
Deqo       - http://www.deqo.com/

^ permalink raw reply

* New Target: ipt_ACCOUNT
From: Rolf Wuerdemann @ 2002-12-16 17:36 UTC (permalink / raw)
  To: netfilter-devel

[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi there ...

we've developed a new target for iptables: ipt_ACCOUNT.
This Target accounts Traffik on a packet-base on source and
target ip using netfilter (similar to nacctd - but using iptables).

It's in use on our routers (app. 60MBit/s Bandwitdh) since three month
(app.) without any trouble and was tested with some DDoS-Tools before
use ;)

Now we release it under GPL for public use.

Regard's

	Thomas Wieske		Rolf Würdemann
	Wieske's Crew KG		Wieske's Crew KG
	(Chairman)		(Developer)

PS: We've developed it 'cause nacctd was 
	a) to much use of cpu
	b) looses packets during kernel-problems with PF_PACKET


- -- 
               Security is an illusion - Datasecurity twice
  Rolf Wuerdemann  - Privat: rowue@digitalis.org - Office: rowue@crew-kg.de
  GnuPG-Key fingerprint: 7383 348F 67D1 CD27 C90F DDD0 86A3 31B6 67F0 D02F
    RSA-Key fingerprint:      CEBB 5086 9154 E8D8 7D0E CC4F 0F5E B9CC
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9/g8WhqMxtmfw0C8RApfoAJ9TJuhjlEJE5uUc/GeRxDu2p/HXmwCglYzV
MsetA5QQXj39KfcSFQnILAk=
=Ls7V
-----END PGP SIGNATURE-----

[-- Attachment #2: Netfilter Target ipt_ACCOUNT --]
[-- Type: application/x-gzip, Size: 12242 bytes --]

^ permalink raw reply

* Re: PS/Top broken - /proc entry bad
From: Benjamin LaHaise @ 2002-12-16 17:43 UTC (permalink / raw)
  To: Matt Simonsen; +Cc: linux-kernel
In-Reply-To: <1039643391.27406.41.camel@mattsworkstation>

Use sysreq-t to get a backtrace of the processes.  Most likely one of 
them hung while still holding the mm semaphore, thereby preventing ps 
and top from proceeding.  Check your log for oopsen.

		-ben

On Wed, Dec 11, 2002 at 01:49:51PM -0800, Matt Simonsen wrote:
> I had a box where ps and top quit working after hundreds of days uptime.
> After doing an strace ps I found that one directory in /proc was hanging
> it up, a directory named a 5 digit number which I believe was
> associtated with a process of the same name.
> 
> I tried doing a kill -9 on the process, it returned fine but the process
> was still there. Reboot hung my session, too, I had to use reboot -f to
> get the machine healthy again.
> 
> Is there any way to "fix" /proc other than what I did? I suppose maybe
> going into a lower init level and then back to 3 may have worked. It's a
> remote machine, though, so reboot was at the time seemed like a better
> solution.
> 
> Any comments/suggestions on what to do in this situation?
> 
> Thanks
> Matt
> 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
"Do you seek knowledge in time travel?"

^ permalink raw reply

* Re: Intel sez: Synchronous Flash and XIP is the future -- thoughts?
From: Nicolas Pitre @ 2002-12-16 18:06 UTC (permalink / raw)
  To: David Woodhouse; +Cc: Wolfgang Denk, Paul Nash, Linux-MTD (E-mail)
In-Reply-To: <3806.1040060329@passion.cambridge.redhat.com>

On Mon, 16 Dec 2002, David Woodhouse wrote:

> 
> nico@cam.org said:
> >  On ARM this has no value since the kernel takes up at most 1 or 2
> > page table  entries (1MB section descriptors that is).
> 
> But you could still start up quickly from flash without having to memcpy 
> the entire kernel into RAM first, then once you're running copy the kernel 
> text into RAM and alter the page tables so you're running from the RAM copy 
> instead of the flash.
> 
> This gives you the fast startup of XIP without the runtime pain of XIP. But 
> it's probably overkill.

Well at that point I prefer the penalty of about half a second with storing
a compressed kernel in flash and let it decompress to RAM directly.  Oh and
btw we've made the ARM kernel decompressor XIP from flash long time ago.


Nicolas

^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.