Linux-Development-Sys Digest #912, Volume #7 Sat, 27 May 00 17:13:13 EDT
Contents:
how does "cardctl suspend" work? (Yung-Hsiang Lu)
going kernel 2.0->2.2: insmod stops working ("zacals")
oops messages and wait queue declaration (Arnaud Westenberg)
Boot Error: "kernel panic: No init found. Try Passing init= to kernel" (Kevin
McQuiggin)
Re: how does "cardctl suspend" work? ("Peter T. Breuer")
How can i set up...? ("PhOeNiX")
Re: Boot Error: "kernel panic: No init found. Try Passing init= to kernel" (Dr H. T.
Leung)
Re: Call stack in C ("Norm Dresner")
Re: Boot Error: "kernel panic: No init found. Try Passing init= to (Kevin McQuiggin)
----------------------------------------------------------------------------
From: Yung-Hsiang Lu <[EMAIL PROTECTED]>
Subject: how does "cardctl suspend" work?
Date: 27 May 2000 17:37:13 GMT
Hi,
I am curious how "cardctl suspend" works. I am using a WaveLAN
wireless Ethernet PC-card. When I execute "cardctl suspend",
/var/log/messages shows "cardmgr: executing './network suspend eth0'.
Where is this "network" program? I checked /etc/rc.d/init.d/network,
/etc/sysconfig/network, and /etc/pcmcia/network, but none of them took
"suspend" as an input parameter.
I traced cardctl to the point where it calls ioctl and followed it
until sys_ioctl in /usr/src/linux/fs/ioctl.c. In sys_ioctl, it called
a function pointer and I was lost there.
Your help would be greatly appreciated.
--
Sincerely,
Yung-Hsiang Lu
[EMAIL PROTECTED]
------------------------------
From: "zacals" <[EMAIL PROTECTED]>
Subject: going kernel 2.0->2.2: insmod stops working
Date: Sat, 27 May 2000 17:08:53 GMT
I hope you can help me.
I've decided to post here because after 3 months posting on
comp.os.linux.setup no one
has bothered to look into it.
===== Original Message =====
From: zacals <[EMAIL PROTECTED]>
Newsgroups: comp.os.linux.setup
Sent: Wednesday, May 24, 2000 6:39 PM
Subject: Kernel 2.2: insmod seems to stop working
> Hi "linuxeros":
> I've tryed installing modules such as "sb" and "plip" put they report:
> init_module:Device or resource busy
> What has happened with modules from kernel 2.0 through 2.2?
> and, where may I find some information?
> Thanks.
Thanks again
------------------------------
Date: Sat, 27 May 2000 18:45:28 +0200
From: Arnaud Westenberg <[EMAIL PROTECTED]>
Subject: oops messages and wait queue declaration
This is a multi-part message in MIME format.
==============D0DFA26474D4DE369BEB84F0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hi all,
I have a question concerning the declaration of a wait queue in a device
driver.
I've declared a srtucture in my header file. This structure is used for
building a circular linked list and, amongst other, holds a wait queue.
I've dynamically allocated memory for the linked list by using kmalloc
for each list entry (in the read section of the driver) so every
instance of the read process can go to sleep on its own wait struct in
the list.
This however doesn't seem to work. When the read process wakes up from
the wait queue, I get an oops message (oops.txt in attachment). When I
have the read processes sleep on a statically declared wait structure,
it works fine. So I know _what_ I'm doing wrong but I don't understand
_why_ it is wrong. Printk-ing the *wq pointer on console works fine and
shows 756e696c. The oops message complains about a page fault at virtual
address 756e6970, 4 bytes higher. Accessing other structure members goes
fine.
Could someone please explain?
The assembly in the oops message shows "movl 0x4(%ecx),%eax" which
accounts for the 4 bytes difference between the pointer and the page
faulted virtual memory address. I don't have a clue about what I'm
trying to say here, but if somebody knows links to any information about
making sense of oops messages, I appreciate that.
Here's the relevant code:
In header.h:
typedef struct list_entry * ptr_to_list_entry;
struct list_entry {
unsigned long data;
struct wait_queue *wq;
ptr_to_list_entry next;
};
In read.c
ssize_t read(struct file *file, char *buffer, size_t length, loff_t
*offset)
{
ptr_to_list_entry new_entry;
new_entry=(ptr_to_list_entry)kmalloc(sizeof(struct
list_entry),GFP_KERNEL);
/* I assume sizeof(struct list_entry) doesn't result in what I hoped
for */
/* Some code to set up the linked list */
printk(KERN_ERR "new_entry->wq is: %p\n", new_entry->wq);
interruptible_sleep_on(&new_entry->wq);
/* rest of code */
}
==============D0DFA26474D4DE369BEB84F0
Content-Type: text/plain; charset=us-ascii;
name="oops.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="oops.txt"
WARNING: This version of ksymoops is obsolete.
WARNING: The current version can be obtained from ftp://ftp.ocs.com.au/pub/ksymoops
Options used: -V (default)
-o /lib/modules/2.2.12-20/ (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-m /boot/System.map (specified)
-c 1 (default)
Unable to handle kernel paging request at virtual address 756e6970
current->tss.cr3 = 00c88000, %cr3 = 00c88000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[interruptible_sleep_on+60/92]
EFLAGS: 00010046
eax: 00c88000 ebx: c037bf4c ecx: 756e696c edx: 756e696c
esi: 00000286 edi: c037bf98 ebp: c037bf54 esp: c037bf4c
ds: 0018 es: 0018 ss: 0018
Process rtr_read (pid: 280, process nr: 20, stackpage=c037b000)
Stack: c037a000 756e696c c037bf98 c2809de5 c280aa13 756e696c c12f9f80 ffffffea
00000000 c0531da0 c0125fcb 000b1210 00000001 00000000 00000005 00000000
00000000 00000000 00000000 00000008 c01255b2 c12f9f80 08049654 00000008
Call Trace: [<c2809de5>] [<c280aa13>] [chrdev_open+63/76] [sys_read+174/196]
[system_call+52/56]
Code: 8b 41 04 39 d8 74 0a 90 89 c2 8b 42 04 39 d8 75 f7 89 4a 04
Trace: c2809de5 <fat_search_long+dd/5d0>
Trace: c280aa13 <vfat_ioctl_fill+7/174>
Code: 00000000 Before first symbol 00000000 <_IP>: <===
Code: 00000000 Before first symbol 0: 8b 41 04 movl
0x4(%ecx),%eax <===
Code: 00000003 Before first symbol 3: 39 d8 cmpl
%ebx,%eax
Code: 00000005 Before first symbol 5: 74 0a je
00000011 Before first symbol
Code: 00000007 Before first symbol 7: 90 nop
Code: 00000008 Before first symbol 8: 89 c2 movl
%eax,%edx
Code: 0000000a Before first symbol a: 8b 42 04 movl
0x4(%edx),%eax
Code: 0000000d Before first symbol d: 39 d8 cmpl
%ebx,%eax
Code: 0000000f Before first symbol f: 75 f7 jne
00000008 Before first symbol
Code: 00000011 Before first symbol 11: 89 4a 04 movl
%ecx,0x4(%edx)
3 warnings issued. Results may not be reliable.
==============D0DFA26474D4DE369BEB84F0==
------------------------------
From: Kevin McQuiggin <[EMAIL PROTECTED]>
Subject: Boot Error: "kernel panic: No init found. Try Passing init= to kernel"
Date: Sat, 27 May 2000 11:36:23 -0700
Hi Group:
I hope I'm in the correct newsgroup! I've just upgraded from early
Slackware (with kernel 2.0.35) to Slackware 7 and kernel 2.2.13. I've
been running 2.0.35 for a couple of years at least.
The stock kernel 2.2.13 runs fine, but when I rebuild the kernel and
make zlilo, then reboot, the titled message halts the boot process.
Research:
I've search a few Linux docs sites and mailing list archives but there
was never a definitive answer posted there. I have only a single HD so
other people's problems with disks detected in the wrong order don't
apply. I also don't have a ramdisk, this suggestion doesn't apply. My
lilo.conf doesn't have the reported syntax error. /sbin/init does exist.
Any info appreciated, please reply if possible via email as well as to
the list.
Kevin
[EMAIL PROTECTED]
------------------------------
From: "Peter T. Breuer" <[EMAIL PROTECTED]>
Subject: Re: how does "cardctl suspend" work?
Date: Sat, 27 May 2000 18:48:23 GMT
Yung-Hsiang Lu <[EMAIL PROTECTED]> wrote:
: I am curious how "cardctl suspend" works. I am using a WaveLAN
: wireless Ethernet PC-card. When I execute "cardctl suspend",
: /var/log/messages shows "cardmgr: executing './network suspend eth0'.
: Where is this "network" program? I checked /etc/rc.d/init.d/network,
It's in /etc/pcmcia.
: /etc/sysconfig/network, and /etc/pcmcia/network, but none of them took
: "suspend" as an input parameter.
: I traced cardctl to the point where it calls ioctl and followed it
: until sys_ioctl in /usr/src/linux/fs/ioctl.c. In sys_ioctl, it called
: a function pointer and I was lost there.
: Your help would be greatly appreciated.
man cardctl.
I'd be interested in your accounst of the wavelan card.
I have one in front of me: ieee 802.11 wavelan. But if I stick it in
the slot, it comes up with hardware address 0.0.0.0.0.0.
May 26 17:07:11 barney cardmgr[117]: initializing socket 0
May 26 17:07:11 barney cardmgr[117]: socket 0: Lucent Technologies WaveLAN/IEEE
Adapter
May 26 17:07:11 barney cardmgr[117]: executing: 'insmod
/lib/modules/2.2.15/pcmcia/wavelan_cs.o'
May 26 17:07:11 barney cardmgr[117]: executing: './network start eth0'
May 26 17:07:11 barney kernel: wv_82593_cmd: wv_82593_config(): configure timeout,
status 0x00
May 26 17:07:11 barney kernel: wv_82593_cmd: wv_82593_config(): ia-setup timeout,
status 0x00
May 26 17:07:11 barney kernel: wv_82593_cmd: wv_82593_config(): mc-setup timeout ,
status 0x00
May 26 17:07:14 barney kernel: eth0: wavelan_watchdog: watchdog timer expired
May 26 17:07:14 barney kernel: wv_82593_cmd: wavelan_watchdog(): abort timeout,
status 0x00
May 26 17:07:14 barney kernel: eth0: wavelan_watchdog: abort failed, trying rese
(that was a tosh)
On the desktops I have with pcmcia slots added, it appears to have an
io conflict with the video card.
Peter.
------------------------------
From: "PhOeNiX" <[EMAIL PROTECTED]>
Subject: How can i set up...?
Date: Sat, 27 May 2000 20:14:06 +0100
Hi,
I would just like to know if anyone knew how to allow a win98 user to log
onto my suse linux 6.1 system and get onto the internet via my proxy?
He is using a direct null modem cable to my machine
Is it possible, thanxs for any info
PHOENIX
[EMAIL PROTECTED]
------------------------------
From: [EMAIL PROTECTED] (Dr H. T. Leung)
Subject: Re: Boot Error: "kernel panic: No init found. Try Passing init= to kernel"
Date: 27 May 2000 19:38:10 GMT
Strange. Maybe it wants init to be in /usr/sbin or /usr/bin or /bin . I would try
a few things:
(1) actually tell it where init is; as it suggested, actually answer the question
at the lilo prompt with the init option. e.g. if you type "linux" at the
lilo prompt to boot linux (for a dual boot system), try typing
"linux init=/sbin/init" .
If this works, try putting a symbolic link into /bin
(2) you should be able to type "linux init=/bin/bash" to get yourself into the
system as root bypassing the login prompt altogether - the hard disc would be
mounted read-only, but at least you can have a look around.
(3) boot up your computer with one of those slackware setup boot disc but instead
of the root disc, tell it to mount the hard disc as root directory. That's should
get you in with full use of the system, and you should be able to sort something
out.
(Why are you doing "make zlilo"? I don't do "make zlilo", it is just too
automated and no backing out. I usually do "make zImage" or these days because
my kernel gets a bit big, "make bzImage", then manually copy the new kernel into
somewhere under /, then manually edit /etc/lilo.conf the *add* a new entry for
the new kernel in addition to the existing entry for the old one, run /sbin/lilo
manually to update the boot map, then reboot. This way I get to boot the old
kernel if the new kernel doesn't work - it sounds like a lot of "manually", but
then uupgrading the kernel should be done carefully.)
Good luck.
In article <[EMAIL PROTECTED]>, Kevin McQuiggin <[EMAIL PROTECTED]> writes:
|> Hi Group:
|>
|> I hope I'm in the correct newsgroup! I've just upgraded from early
|> Slackware (with kernel 2.0.35) to Slackware 7 and kernel 2.2.13. I've
|> been running 2.0.35 for a couple of years at least.
|>
|> The stock kernel 2.2.13 runs fine, but when I rebuild the kernel and
|> make zlilo, then reboot, the titled message halts the boot process.
|>
|> Research:
|> I've search a few Linux docs sites and mailing list archives but there
|> was never a definitive answer posted there. I have only a single HD so
|> other people's problems with disks detected in the wrong order don't
|> apply. I also don't have a ramdisk, this suggestion doesn't apply. My
|> lilo.conf doesn't have the reported syntax error. /sbin/init does exist.
|>
|> Any info appreciated, please reply if possible via email as well as to
|> the list.
|>
|> Kevin
|> [EMAIL PROTECTED]
--
--------------------------------------------------
"What you don't care cannot hurt you." Chap. 7a, AMS-NS
------------------------------
Reply-To: "Norm Dresner" <[EMAIL PROTECTED]>
From: "Norm Dresner" <[EMAIL PROTECTED]>
Subject: Re: Call stack in C
Date: Sat, 27 May 2000 20:32:28 GMT
Obviously I didn't make you understand what I wanted, so I'll try again.
I know that gdb has a very powerful stack-trace function, but there are
times when I don't want to (or can't) stop my program just because some
event has occurred, I want it to keep running but I'd like to write some
debugging information to a file that I can analyze later. In some
situations, one of the pieces of information that I'd like to write to the
file is the equivalent of the stack-trace. (BTW, this was available on the
VAX under VMS and that's where I learned to use it as a dynamic debugging
aid for pseudo-realtime programs that can't afford to be stopped just
because one thread has encountered an anomalous situation).
The question on the table is whether or not there's a library function
that's available that will write a stack-trace (or similar formatted inf.)
while the program continues to run.
Thanks,
Norm
Mario Klebsch <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> "Norm Dresner" <[EMAIL PROTECTED]> writes:
>
> >H. Peter Anvin <[EMAIL PROTECTED]> wrote in message
> >news:8gkqb9$4c8$[EMAIL PROTECTED]...
> >> Followup to: <BQPW4.78$[EMAIL PROTECTED]>
> >> By author: Joe Ceklosky <[EMAIL PROTECTED]>
> >> In newsgroup: comp.os.linux.development.system
> >> > How can I get a call stack strace from a
> >> > running program. I want something like pstack
> >> > on Solaris for Linux
> >> gdb -p <process_id>
>
> >That only works if you're running in the debugger and have stopped at a
> >breakpoint.
>
> gdb will stop the program. Instead of calling gdb in interactive mode,
> you could start it using the -x option. It takes a file as an argument
> and gdb executes the commands stored in this file.
>
> The file must include a command to propuce a stack trace and a
> command to restart the stopped program afterwards.
>
> >Is there a function call that can be made from within a running
> >program that will write a stack-trace to some stream (stdout, stderr,
etc.)?
>
> It would be system() or execve() in this case.
>
> 73, Mario
> --
> Mario Klebsch [EMAIL PROTECTED]
------------------------------
From: Kevin McQuiggin <[EMAIL PROTECTED]>
Subject: Re: Boot Error: "kernel panic: No init found. Try Passing init= to
Date: Sat, 27 May 2000 13:48:25 -0700
Hi There:
Thanks for the quick reply! I will try this and let you know what happens. It's
something to do with the kernel config, under the "make config" step: I reinstalled
kernel sources and then ran "make config", answered the hundred questions, and now
it's working fine. I suspect I answered one or two of the questions differently. I
will endeavour to compare the two config files and see if I can find out what was
causing the problem.
Good advice the the "make zlilo".
Kevin
"Dr H. T. Leung" wrote:
> Strange. Maybe it wants init to be in /usr/sbin or /usr/bin or /bin . I would try
> a few things:
>
> (1) actually tell it where init is; as it suggested, actually answer the question
> at the lilo prompt with the init option. e.g. if you type "linux" at the
> lilo prompt to boot linux (for a dual boot system), try typing
> "linux init=/sbin/init" .
>
> If this works, try putting a symbolic link into /bin
>
> (2) you should be able to type "linux init=/bin/bash" to get yourself into the
> system as root bypassing the login prompt altogether - the hard disc would be
> mounted read-only, but at least you can have a look around.
>
> (3) boot up your computer with one of those slackware setup boot disc but instead
> of the root disc, tell it to mount the hard disc as root directory. That's should
> get you in with full use of the system, and you should be able to sort something
> out.
>
> (Why are you doing "make zlilo"? I don't do "make zlilo", it is just too
> automated and no backing out. I usually do "make zImage" or these days because
> my kernel gets a bit big, "make bzImage", then manually copy the new kernel into
> somewhere under /, then manually edit /etc/lilo.conf the *add* a new entry for
> the new kernel in addition to the existing entry for the old one, run /sbin/lilo
> manually to update the boot map, then reboot. This way I get to boot the old
> kernel if the new kernel doesn't work - it sounds like a lot of "manually", but
> then uupgrading the kernel should be done carefully.)
>
> Good luck.
>
> In article <[EMAIL PROTECTED]>, Kevin McQuiggin <[EMAIL PROTECTED]> writes:
> |> Hi Group:
> |>
> |> I hope I'm in the correct newsgroup! I've just upgraded from early
> |> Slackware (with kernel 2.0.35) to Slackware 7 and kernel 2.2.13. I've
> |> been running 2.0.35 for a couple of years at least.
> |>
> |> The stock kernel 2.2.13 runs fine, but when I rebuild the kernel and
> |> make zlilo, then reboot, the titled message halts the boot process.
> |>
> |> Research:
> |> I've search a few Linux docs sites and mailing list archives but there
> |> was never a definitive answer posted there. I have only a single HD so
> |> other people's problems with disks detected in the wrong order don't
> |> apply. I also don't have a ramdisk, this suggestion doesn't apply. My
> |> lilo.conf doesn't have the reported syntax error. /sbin/init does exist.
> |>
> |> Any info appreciated, please reply if possible via email as well as to
> |> the list.
> |>
> |> Kevin
> |> [EMAIL PROTECTED]
> --
> --------------------------------------------------
> "What you don't care cannot hurt you." Chap. 7a, AMS-NS
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.development.system) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************