Subject: Linux-Development Digest #231
From: Digestifier <[email-masked]>
To: [email-masked]
Date: Mon, 26 Sep 94 21:13:10 EDT

Linux-Development Digest #231, Volume #2         Mon, 26 Sep 94 21:13:10 EDT

Contents:
  Broken semaphore implementation? (Dmitri Belosludtsev)
  Is there an S3 server for Vision available? (Heinz Kranefeld)
  Re: Special Sale On QNX! (Michael S. Scheidell)
  Re: [STATUS] Linus Floppy Driver Development ([email-masked])
  Re: elf benchmarks (getting closer) (Neal Becker)
  How to insmod before boot? (Neal Becker)
  Re: 1.1.51 seg fault on shutdown in _floppy_release (H.J. Lu)
  Re: Try this IPX bridging code ... (Steve Kneizys)
  Re: Warnings with libc 4.5.26. (Michael H. Price II)
  Re: 900 MHz CB band??? (Jay Ashworth)
  Re: Try this IPX bridging code ... (Jay Ashworth)
  Re: Special Sale On QNX! (David P. Alvarez)
  Ftape bombs my system with 66MHz CPU (Alberto Vignani)
  Re: OpenGL and GLX (Mark Lin)
  Re: [?] DIP with auto-redial? (Andrew "Avumede" Hyatt)
  rstatd patch (Michele Bini)

----------------------------------------------------------------------------

Crossposted-To: comp.os.linux.misc
From: [email-masked] (Dmitri Belosludtsev)
Subject: Broken semaphore implementation?
Date: Mon, 26 Sep 1994 16:49:47 GMT

Hi!

I tried to port some program from SYSV to Linux and found
strange differences in semaphore implementation.
The program below runs OK on SYSV (ISC) or BSD/386 1.1 but fails (got EAGAIN)
on semop call in Linux (Kernel 1.1.50).

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>

key_t key = 5325633;
int semid;
#ifdef ISC
union Semun {
        int val;
        struct semid_ds *buf;
        unsigned short *array;
} U;
#else
union semun U;
#endif

void main()
{
        struct sembuf test[3] = {
                {0,  0, IPC_NOWAIT},
                {0,  1, SEM_UNDO},
                {0, -1, IPC_NOWAIT|SEM_UNDO},
        };

        if ((semid = semget(key, 1, IPC_CREAT|0666)) < 0) {
                perror("semget(IPC_CREAT)");
                exit(-1);
        }
        if (semop(semid, test, 3) < 0) {
                perror("semop(test)");
        } else {
                printf("semop(test) return OK\n");
        }
        printf("sem#0 has value %d\n", semctl(semid, 0, GETVAL, U));
        if (semctl(semid, 0, IPC_RMID, U) < 0) {
                perror("semctl(IPC_RMID)");
                exit(-1);
        }
        exit(0);
}

------------------------------

From: [email-masked] (Heinz Kranefeld)
Subject: Is there an S3 server for Vision available?
Date: 26 Sep 1994 15:08:28 GMT

Hi,
the XF86 HOWTO says, that there is, at the moment, no X--Server for the
Vision 864 and Vision 964 ships available. Knows someone, is there
a project to get such an server, or is the HOWTO not up to date, or
might there no Server in the next few months for this ship available?
I'm asking for a Elsa Winner 2000 Pro PCI graphics card.
Best regards
Heinz

------------------------------

From: [email-masked] (Michael S. Scheidell)
Crossposted-To: comp.os.386bsd.apps,comp.os.386bsd.bugs,comp.os.386bsd.misc,comp.os.386bsd.questions,comp.os.linux.admin,comp.os.linux.help,comp.os.minix
Subject: Re: Special Sale On QNX!
Date: 26 Sep 1994 15:21:33 GMT

[email-masked] wrote:

NO HE DID NOT!
LOOK AT PATHS.  THIS IS A FORGERY!

PLEASE READ THIS.  I DID NOT MAKE THAT POST!

This posting did not come from our office, but we are tracing it.
If you look carefully at headers you will find sites that don't exist, 
and see that it does not trace back to [email-masked].

We have a good idea of who it is and some admins are helping us trace it 
by comparing the posting on their machine to other postings.

If you have the time and ability to help us trace this, we can give you 
info on who is doing it and maybe try to pressure HIS site to drop him.

Again, I did not do this post, and we have taken great pains to avoid 
offending anyone, and to date this is my first flame, even if undeserved.

I thank those who looked at headers and saw it was a forgery, and look 
forward to a solution to this.

---

Michael S. Scheidell                    Florida Datamation, Inc. 
[email-masked]                       (407) 241-2966
Distributers of QNX Real Time OS Products (finger for more info)

------------------------------

From: [email-masked]
Subject: Re: [STATUS] Linus Floppy Driver Development
Date: Mon, 26 Sep 94 16:45:48 PDT

<[email-masked]> writes:
> 
> That sounds like a good idea.  Actually, the NFS automounter works
> that way.  Can it be changed to handle floppy mounts as well?
> 
Try this on for size.....
New filesystem type = AMFS (AutoMount File System)
Attempt to mount this file system to a device and mountpoint always succeeds
When mountpoint is accessed then AMFS checks for floppy available and what type
of floppy... The only question would be: Build FS support into AMFS for each 
file system type desired... or find existing kernel FS support routines

Now... Who like to write file system code ??

        (Not ME)
        John Barrett

------------------------------

From: [email-masked] (Neal Becker)
Subject: Re: elf benchmarks (getting closer)
Date: 26 Sep 1994 20:45:25 GMT

>>>>> "John" == John Richardson <[email-masked]> writes:
In article <[email-masked]> [email-masked] (John Richardson) writes:

    John> Wow!  I guess I'll compile bash with ELF libraries! 

Me too, but first figure out how you're going to boot, since you need
to do insmod , what will your shell be before insmod is run?

------------------------------

From: [email-masked] (Neal Becker)
Subject: How to insmod before boot?
Date: 26 Sep 1994 15:12:02 GMT

I'd be interested in testing an elf bash shell.  But /bin/sh is also
bash, and is needed by bootup scripts.

When everything is elf, how can I do insmod to add elf to the kernel?
Or is there a way to permanently install a module in the kernel?

------------------------------

From: [email-masked] (H.J. Lu)
Subject: Re: 1.1.51 seg fault on shutdown in _floppy_release
Date: 26 Sep 1994 02:39:08 GMT

David Flood ([email-masked]) wrote:
: [email-masked] (Mark Evans) writes:

: >What is happening is that floppy_release is being called with filp equal to 0
: >If you apply the following patch umount will no longer blow up.

: >--- floppy.c.old     Wed Sep 21 15:32:04 1994
: >+++ floppy.c Wed Sep 21 15:31:48 1994
: >@@ -2713,7 +2713,7 @@
: > {
: >     int drive= DRIVE(inode->i_rdev);
: > 
: >-    if(filp->f_mode & 2)
: >+    if(filp && (filp->f_mode & 2))
: >             fsync_dev(inode->i_rdev);
: >     if ( UDRS->fd_ref < 0)
: >             UDRS->fd_ref=0;

: I applied the above patch and now I get the following during shutdown but
: NOT during user execution of umount:

: Unmounting file systems.....
: floppy: timeout
: floppy I/O error
: dev 0200, sector 2
: Done.

: This is a known good disk.  Just to make sure, I copied the data off,
: re-fdisk'ed it, ran mk2efs on it with block checking, and then ran badblocks
: on it with write (and got an empty list) and finally re-copied the data back
: to it.  According to the boot messages, the FDC is a 8272A.  The controler

It is the same FDC on my 386sx.

: is a WD1007 floppy/esdi hard drive controler in a 386sx-16 so I don't think
: that bus speed is too high.

: Anybody got any other ideas?  For now I am going to stick with 1.1.50

I used

        if(!filp && (filp->f_mode & 2))

without any problems on a 386sx and a 486dx.

H.J.

------------------------------

Subject: Re: Try this IPX bridging code ...
From: [email-masked] (Steve Kneizys)
Date: 25 Sep 94 22:35:38 EST

Rob Janssen ([email-masked]) wrote:
: In <[email-masked]> [email-masked] (Vinod G Kulkarni) writes:

: >I have uploaded IPX bridging code to sunsite (Incoming). This is 
: >pre-pre-alpha, but is precursor for fulfledged development of IPX 
: >bridging/routing on linux. At this stage, it *may* work for you.
: >And it is not all that efficient as of now. We mainly want feedbacks and
: >design ideas for efficiency. 

: Why do you want bridging when there already is IPX *routing* available
: in the kernel?

I know Novell has misused the term bridging, so I am not sure if they
meant bridge or route. But...

I just installed an IP bridge.  That's right, an IP bridge!  I wanted
to isolate a few Macs & server from the main net, but only wanted, for
the moment, TCP/IP to pass through the bridge.  And I did not want to
waste an entire Class C net nor could I subnet the Class C I was
connecting to so I wrote a little program to do Bridging on a PC.  
Now only ARP and IP can pass through.  Works fine :)  

(I considered FREE PCROUTE, but it doesn't filter/forward packets 
correctly.)

If somebody wanted to isolate an IPX net/server from the main net
in terms of packet density but did not want to change the net 
numbers, well, bridging would be an option!  I may decide to add
it to my above bridge, as bridging is faster than routing.

Steve...

------------------------------

From: [email-masked] (Michael H. Price II)
Subject: Re: Warnings with libc 4.5.26.
Date: 24 Sep 1994 07:24:10 GMT
Reply-To: [email-masked]

In article <[email-masked]> [email-masked] (Michael H. Price II) writes:

> Before I actually install libc-4.5.26, am I supposed to get a million
> warnings while compiling it or should it compile quietly?

I realize this wasn't very descriptive so here is a compressed list of all
the warnings I received.  As you can see below, the size of the make.out
generated from the output of the compile is over 1 million bytes long.  The
file containing just the lines with the word 'warning:' in them made a file
over 125kb long.  Is this normal?  Should the library nearly every program
uses have such warnings throughout the code?

Michael

=============
Gallina:/tmp$ dir make.out
-rw-r--r--   1 root     root      1002338 Sep 23 16:20 make.out
=============

------------------------------

From: [email-masked] (Jay Ashworth)
Subject: Re: 900 MHz CB band???
Date: 25 Sep 1994 22:32:00 -0400

[email-masked] writes:
><[email-masked]> writes:
>> Alexandra Griffin ([email-masked]) wrote:
>> : I was unaware of the existence of a CB band @ 900MHz.  How much
>> : bandwidth is available there?  What restrictions exist w.r.t.

There isn't.  There's a band called GMRS - General Mobile Radio Service,
in the 450MHz range, that _used to_ be called "Class A CB".

>> To bring it to topic - there is ALPHA version of Linux driver for
>> the WaveLan card, designed by NCR, that gives you about 2.5 Kbit/sec
>> link as far as you can beam 1Watt at around 910 MHz. This band is
>The RatShack FM walkie talkies are 900mhz, as is the new spread spectrum 
>hand-held fone from Uniden... there are also some paging freqs up in that 
>area... but like the WaveLan.... nothing real powerful or long range..

Forgive me, but _which_ Radio Shack HT's are those?  I assume you mean the
"business band" radios, made (I think) by Uniden.  They live on
"transient" frequencies in the 150MHz business radio band.  There are no
transient freq at 900, as far as I know.

Cheers,
-- jra
-- 
Jay R. Ashworth        High Technology Systems Comsulting             Ashworth
Designer              Linux: The Choice of a GNU Generation       & Associates
ka1fjx/4                                                  
[email-masked]   "Hey! Do any of you guys know how to Madison?"  813 790 7592

------------------------------

From: [email-masked] (Jay Ashworth)
Subject: Re: Try this IPX bridging code ...
Date: 25 Sep 1994 22:38:30 -0400

[email-masked] (Rob Janssen) writes:
>Why do you want bridging when there already is IPX *routing* available
>in the kernel?

Hmmmm... _you_ have a Linux Kernel that speaks NetWare?

You could save lots of people lots of work.  Where is it?

Cheers,
-- jr ':-)' a
-- 
Jay R. Ashworth        High Technology Systems Comsulting             Ashworth
Designer              Linux: The Choice of a GNU Generation       & Associates
ka1fjx/4                                                  
[email-masked]   "Hey! Do any of you guys know how to Madison?"  813 790 7592

------------------------------

From: [email-masked] (David P. Alvarez)
Crossposted-To: comp.os.linux.development
Subject: Re: Special Sale On QNX!
Date: 26 Sep 1994 02:41:29 GMT

As a result of having a bad hair day, [email-masked] wrote:

: Florida Datamation has been a QNX distributor for 10 years! We are nice,
: knowledgable and go the extra mile for the sale. And, we promise to BEAT
: ANYONE'S PRICE! A complete QNX developer's package starts at just $195! 

: Michael S. Scheidell                            email: [email-masked]

Hmm..  okay, so like since linux is free, and he'll beat "ANYONE'S PRICE,"
does that mean he'll pay *us* to use his software?

--
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           'What really interests me is whether God had any choice
              in the creation of the world.'  - Albert Einstein
David Pereira Alvarez                                     [email-masked]
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

------------------------------

From: Alberto Vignani <[email-masked]>
Subject: Ftape bombs my system with 66MHz CPU
Date: 26 Sep 1994 20:25:15 -0400
Reply-To: [email-masked]

Hi all.

One month ago, ftape was working flawlessly on my Linux system.
Then I upgraded: the kernel, the libraries, and the CPU. I bought
an AMD DX2-66, and was happy about it.

Then went the system backup time, and ftape began to bomb my system.
I saw all sort of panics and reboots.
I have a rule of thumb for such cases: first check the software, then
the connections, and last the hardware. I tried the first two, but there
were no results.

Then today I changed back the CPU to the original Intel DX-33...
and ftape worked. No panics, no troubles.
To be sure, I just reinstalled the DX2 CPU and retried the same backup
on another tape. The system hung, and a disk went into standby mode.

Of course, the tape works under MSDOS, and the rest of my Linux system
shows no errors or strange behaviours with the DX2 CPU under normal use.

So my question is: are there bugs in the AMD CPUs? (could be, giving
that they are 'Microsoft Windows compatible'... :-)
Or there is some weird timing loop in the software (kernel? ftape
driver?)?

Has anybody some experience of running ftape with DX2-66 CPUs? AMD
CPUs?

Bye
Alberto

------------------------------

From: [email-masked] (Mark Lin)
Crossposted-To: comp.windows.x,comp.graphics.opengl,comp.graphics
Subject: Re: OpenGL and GLX
Date: 26 Sep 1994 02:52:04 GMT

bryan heidorn ([email-masked]) wrote:
: Hello,

: There have been several posts over the last several weeks/months in 
: the OpenGL related news groups about running OpenGL on a PC.  I have 
: not seen much appear about this issue in the Xwindows or Linux groups.  
: I (and apparently several others) am interested in running GLX, the X 
: extension for OpenGL, under Linux on my PC with an SGI as the OpenGL server.

Doesn't the package, "vogle," allow one to perform somewhat smiliar to this?

--
==========                    ==========                   ==========
Mark Lin                                                 [email-masked]
Northwestern University                        Biomedical Engineering

------------------------------

From: [email-masked] (Andrew "Avumede" Hyatt )
Subject: Re: [?] DIP with auto-redial?
Date: 26 Sep 1994 15:49:22 GMT

[email-masked] (Mike Castle) writes:

>In article <[email-masked]>,
>John Voth <[email-masked]> wrote:
>>Greetings Linux Community:
>>
>>I am in search of a DIP or DIP-alike program that has auto redial 
>>functions built into it. 
>>
>>I am in constant competition with others trying to connect to my 
>>university and the DIP I have now just flops at a busy signal.

>I'm not sure if all versions of DIP did this, but I know the most
>recent versions set $errlvl to different values, depending on why
>it failed.  I'm not positive where the values for errlvl are
>documented, perhaps in one of the sample scripts.

Perhaps recent versions have solved the problem, but when I used
an errlvl to cycle back to redial , it would give me an infinite number
of I/O errors when it encountered the next errlvl statement.
I tried a more recent dip, but it didn't seem to work at all. 

So, unless I'm missing something about the new versions, redialing just
can't happen. 

Perhaps you can use another program to redial and then when you are 
connected start pppd?  If you have dosemu, you can use a DOS program to
dial.  

-- 
-Andy Hyatt
[email-masked]

------------------------------

From: [email-masked] (Michele Bini)
Subject: rstatd patch
Date: 26 Sep 1994 16:40:37 GMT

Here you are the long-ago promised rstatd patch (sorry for the time
you had to wait).

Apply with patch -p in the directory immediately above you rstatd
source directory.

If you look at it you can see that changes are almost "cosmetic", to
cope with blanks instead of commas as separators in /proc files and to
look in /proc/net/dev, instead of /proc/stat, for packet statistics
(well, in fact it's a tiny bit more difficult: /proc/net/dev doesn't
report total packet statistics, but disaggregated stats, on a per
device basis, so rstatd needs to make a sum... A really difficult
piece of code to write!).

Hope this will solve your problem. If it doesn't, don't esitate to ask
me again (I think I'll soon upgrade my 1.1.18 to a newer 1.1.xx, maybe
1.1.51 :))

P.S.: I don't know if this is true for newer kernels, but I had to
      apply the disk statistics patch to get disk statistics working
      in 1.1.18 ;>

PS/2: If you find this works OK, I'll mail it to
      [email-masked] (rstatd author) and
      post it on the news too, in the hope it gets included in a
      future release of rstatd.

----CUT----CUT----CUT----CUT----CUT----CUT----CUT----CUT----CUT----CUT--
--- rstatd/rstat_prog.c.orig    Sat Sep 18 15:11:40 1993
+++ rstatd/rstat_prog.c Sat Aug 20 09:24:54 1994
@@ -1,6 +1,7 @@
 /*
  * rstatd for linux using /proc/stat
  * Copyright (C) 1993 Rudolf Koenig 
+ * Modified by M. Bini, Aug 20, 1994.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -87,22 +88,41 @@
 fill_s_t()
 {
   FILE *fp;
+  char buf[512];
+  unsigned ip, op, ie, oe, oc;
   double ld1, ld2, ld3;
 
   if(!(fp = fopen("/proc/stat", "r")))
     return;
-  fscanf(fp, "cpu  %u,%u,%u,%u\n", 
+  fscanf(fp, "cpu  %u %u %u %u\n", 
          &s_t.cp_time[0], &s_t.cp_time[1], &s_t.cp_time[2], &s_t.cp_time[3]);
-  fscanf(fp, "disk %u,%u,%u,%u\n", 
+  fscanf(fp, "disk %u %u %u %u\n", 
          &s_t.dk_xfer[0], &s_t.dk_xfer[1], &s_t.dk_xfer[2], &s_t.dk_xfer[3]);
-  fscanf(fp, "page %u,%u\n", &s_t.v_pgpgin, &s_t.v_pgpgout);
-  fscanf(fp, "swap %u,%u\n", &s_t.v_pswpin, &s_t.v_pswpout);
-  fscanf(fp, "intr %u\n", &s_t.v_intr);
-  fscanf(fp, "pack %u,%u\n", &s_t.if_ipackets, &s_t.if_opackets);
-  fscanf(fp, "err  %u,%u\n", &s_t.if_ierrors, &s_t.if_oerrors);
-  fscanf(fp, "coll %u\n", &s_t.if_collisions);
+  fscanf(fp, "page %u %u\n", &s_t.v_pgpgin, &s_t.v_pgpgout);
+  fscanf(fp, "swap %u %u\n", &s_t.v_pswpin, &s_t.v_pswpout);
+  fscanf(fp, "intr %u "
+        "%*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u\n",
+        &s_t.v_intr);
   fscanf(fp, "ctxt %u\n", &s_t.v_swtch);
-  fclose(fp);
+
+  if(!(fp = fopen("/proc/net/dev", "r")))
+    return;
+  fgets(buf, 512, fp);
+  fgets(buf, 512, fp);
+  s_t.if_ipackets = s_t.if_ierrors =
+  s_t.if_opackets = s_t.if_oerrors =
+    s_t.if_collisions = 0;
+  while (!feof(fp))
+    if (fscanf(fp, "%*[^:]: %u %u %*u %*u %*u %u %u %*u %*u %u %*u\n",
+              &ip, &ie, &op, &oe, &oc
+              )
+       == 5) {
+      s_t.if_ipackets += ip;
+      s_t.if_opackets += op;
+      s_t.if_ierrors += ie;
+      s_t.if_oerrors += oe;
+      s_t.if_collisions += oc;
+    }
 
   if(!(fp = fopen("/proc/loadavg", "r")))
     return;

--

                    Michele Bini: 
                                  [email-masked]
                                  http://www.cli.di.unipi.it/~bini/intro

------------------------------

** 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-masked]

You can send mail to the entire list (and comp.os.linux.development) via:

    Internet: [email-masked]

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Development Digest
******************************