LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Internet Connection 20 minute cut-off (https://www.linuxquestions.org/questions/slackware-14/internet-connection-20-minute-cut-off-283019/)

win32sux 01-29-2005 02:48 PM

Quote:

Originally posted by linmith
I just noticed something else in the tail -f /var/log/syslog readout. Something called a 'fifo underrun' happens when I am disconnected. I have no idea what that means, does it mean anything to you? Or anyone else?

Code:

Jan 29 20:42:46 darkstar kernel: st7554: fifo underrun!
Jan 29 20:43:17 darkstar last message repeated 15411 times


i found this when i googled for st7554 fifo underrun:

http://www.linuxquestions.org/questions/history/175401

sounds like that person had the same issue... maybe we can ask him if and how he solved it??

are you using the same modem he is?? same drivers??

i think it's a good sign that you're not the only one this is happening to, though...

win32sux 01-29-2005 03:03 PM

check to see if the problem only happens when you are in runlevel 4...

if the connection doesn't fail when you boot into runlevel 3, that might mean the issue is related to the video card drivers (IRQ issue)... this is according to some stuff i googled just now, i'm not talking from experience or anything:

http://www.nvnews.net/vbulletin/showthread.php?t=28224

what video card are you using?? which drivers??

i believe the guy in the thread above (nvnews.net) had the problem when using the (proprietary, 3d) "nvidia" driver, but when he used the (open source, 2d) "nv" driver apparently the connection would not get cut-off...

might be something to try if you're using an nvidia video card...

linmith 01-29-2005 05:33 PM

I am using an NVIDIA card, but not the proprietary driver. But that thread on the other forum describes my problem quite well, so I think the issues must be related somehow...

I did try to install the proprietary drivers a few days ago, but the installer crashed when it was recompiling a kernel interface or something.

That could be the problem I suppose...any ideas?

win32sux 01-29-2005 05:52 PM

if it didn't finish compiling then there's no way it was installed, so i don't think that's it... the crash you experienced during the compile is probably a totally separate issue...

besides, in your xorg.conf file you've got "nv" set as the driver right??

if so, try using the vesa driver instead... just change the "nv" to "vesa" and reboot to do that...

also, you did verify that the problem isn't occurring if you boot into runlevel 3, right??

linmith 01-30-2005 06:55 AM

I'm already using the vesa drivers by default, I'll the try runlevel thing now and tell you how I get on.

win32sux 01-30-2005 06:58 AM

Quote:

Originally posted by linmith
I'm already using the vesa drivers by default, I'll the try runlevel thing now and tell you how I get on.
okay, but give the "nv" drivers a shot also...

linmith 01-30-2005 08:17 AM

Going to runlevel 3 seemed to make things worse, I got disconnected after the first few pages, maybe 45 seconds.

Here is my current xorg.conf graphics section:
Code:

# **********************************************************************
# Graphics device section
# **********************************************************************

# Any number of graphics device sections may be present

Section "Device"
    Identifier  "VESA Framebuffer"
    Driver      "vesa"
    #VideoRam    4096
    # Insert Clocks lines here if appropriate
EndSection

What should I change to run the nv driver? Just the vesa part? Or the vesa framebuffer too?

win32sux 01-30-2005 08:19 AM

yeah, just change this:
Quote:

Driver "vesa"
to this:
Quote:

Driver "nv"
but if the problem persists even if you boot into runlevel 3 then i wouldn't expect the video driver to have anything to do with it, although i'm not sure...

what driver are you using for your modem (URL)?? what's the brand and model of the modem??

linmith 01-30-2005 10:01 AM

Ok it's a Trust USB softmodem, with an SGS chipset. The driver I'm using is slmdm 2.7.14, which I downloaded from here: http://linmodems.technion.ac.il/packages/smartlink/

I'm not sure what the exact model number is, but I don't think that matters as long as I know the chipset, right?

The driver installed perfectly as far as I can tell...but I'm now certain that the "fifo underrun" error causes me to lose the connection, as this appears without fail in /var/log/syslog whenever I am disconnected.


Oh, and I fogot to say, I deactivated some things I don't need in my BIOS settings, like onboard firewire and LAN, just in case that might make a difference, but I'm yet to see whether it will do anything...

win32sux 01-30-2005 12:39 PM

i have posted in this thread asking for input:

http://www.linuxquestions.org/questi...postid=1440067

you should subscribe to the thread in case we get lucky and receive a positive reply...

i also downloaded the driver tarball you are using to take a look inside... i think i found the part of the code related to this error, but i'm not a coder and hence i can't really make any sense of it.... maybe a coder looking at this thread will see it and get an idea, so here it is, it's from the file called usb_st7554.c... i've placed the part i "feel" is related in bold... if you're feeling adventurous try commenting-out that small "fifo evaluation" subsection and re-compile... ;-) of course that might just give you a broken driver but, well, you've got nothing to loose at this point, and you can always re-install the driver properly... it would be a shot in the dark, but who knows...


Code:

/* --------------------------------------------------------------------- */

static void st7554_interrupt(struct urb *urb)
{
        struct st7554_modem_state *s = urb->context;
        u32 *status = urb->transfer_buffer;
        u16 fifo_status;
        u16 gpio_status;

        if (urb->status) {
                if (urb->status != -ENOENT)  /* unlinked */
                        USB_ERR("st7554 interrupt: bad status received: %d\n",
                                urb->status);
                return;
        }

        fifo_status = *status &0xffff;
        gpio_status = *status >> 16;
#if 0
        USB_DBG("interrupt: fifo %04x, gpio %04x...\n",
                fifo_status, gpio_status);
#endif
        /* fifo evaluation */
        if (fifo_status & SSI1_UNDERRUN ) {
                USB_ERR("st7554: fifo underrun!\n");
                if (s && s->modem)
                        modem_error(s->modem);
        }

        if (fifo_status & SSI1_OVERRUN) {
                USB_ERR("st7554: fifo overrun!\n");
                if (s && s->modem)
                        modem_error(s->modem);
        }

        /* gpio evaluation */
        if ((gpio_status & GPIO_RING1) && s) {
                queue_task(&s->ring_bh, &tq_immediate);
                mark_bh(IMMEDIATE_BH);
        }

        /* ignore HANDSET */
        /*              if (*gpio_status & GPIO_HANDSET) */
        /*                      status |= IRQ_HANDSET; */
}

/* --------------------------------------------------------------------- */

PS: remember that comments in C go between the slashes with the asterisks:
Code:

/* this is a comment */

linmith 01-30-2005 01:31 PM

I commented-out the fifo underrun evaluation part, and managed to recompile it, but it didn't seem to stop the problem. I got these errors instead when I got disconnected...

Jan 30 19:20:29 darkstar kernel: mo_complete 0: err: urb status -75.
Jan 30 19:20:29 darkstar kernel: mo_complete 0: err: fr.0 status -18.
Jan 30 19:20:29 darkstar kernel: mo_complete 0: err: fr.1 status -18.
Jan 30 19:20:29 darkstar kernel: mo_complete 0: err: fr.2 status -18.
Jan 30 19:20:29 darkstar kernel: mo_complete 0: err: fr.3 status -18.
Jan 30 19:20:29 darkstar kernel: mo_complete 0: err: fr.4 status -18.
Jan 30 19:20:29 darkstar kernel: mi_complete 0: err: urb status -75.
Jan 30 19:20:29 darkstar kernel: mi_complete 1: err: urb status -75.

So now I'm back with the origionals.

win32sux 01-30-2005 01:54 PM

please post your current interrupt layout:

Code:

cat /proc/interrupts
i think this is gonna end-up being an IRQ issue, cuz there's an entry in the LQ HCL for this modem and the guy that posted apparently had it working quite well on slackware 10.0 with linux 2.4.26 and the 2.7.14 driver:

http://www.linuxquestions.org/hcl/sh...p?product=1541


win32sux 01-30-2005 02:11 PM

have you tried with the 2.9.10 version of the driver from smart link??

http://www.smlink.com/main/down/slmodem-2.9.10.tar.gz

DaWallace 01-30-2005 04:24 PM

I've had that problem in windows.. I blamed it on crappy modem.. and after 4 months of that before switching to cable (AWESOME!!! it actually works.) I've decided that I was right the whole time.. I'd get what they call a "real modem". but in the end for me I switched services..

win32sux 01-30-2005 06:30 PM

Quote:

Originally posted by DaWallace
I've had that problem in windows.. I blamed it on crappy modem.. and after 4 months of that before switching to cable (AWESOME!!! it actually works.) I've decided that I was right the whole time.. I'd get what they call a "real modem". but in the end for me I switched services..
that's cool, but linmith has stated that the modem works properly in windows, so a hardware problem can pretty much be ruled-out... there's also the fact that we've found evidence of other folks having very similar issues with this modem...


All times are GMT -5. The time now is 10:09 PM.