lkml.org 
[lkml]   [2004]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjectno entropy and no output at /dev/random (quick question)
    Hi, i've just suscribed from work to the list (now my boss will have to 
    buy a new server :+)

    The quick question/problem follows:

    I have a server that runs kernel 2.6.9, some web and monitoring
    services, it's connected to two different networks with two different
    network cards, and somehow a php developer discovered that /dev/random
    wasn't giving any entropy to him (O_O) so i checked it out...

    the (BUG??) follows:
    (via ssh, i have no keyboard there)

    # cat /dev/random (5 minutes, the server working, nothing)
    ctrl+c
    # cat /dev/urandom
    <snip> (lots of randomness)

    then I went to /proc/sys/kernel/random
    # /proc/sys/kernel/random
    # cat entropy_avail
    0
    # OMG!
    -bash: OMG1: command not found

    O_O. No entropy available. WTF??

    Then i did a little search in the whole source directory of the kernel
    (looking for entropy sources) and I've found that NONE OF MY (interrupts
    generating) HARDWARE was (contributing??) helping with the entropy.

    This is the (little) summary of the "working" stuff.
    * 3Com Corporation 3c905B 100BaseTX (driver 3c59x.c doesn't give any
    entropy).
    * Intel Corp. 82557/8/9 [Ethernet Pro 100] (driver eepro100.c o_O)
    * Mylex Corporation DAC960PRL (driver DAC960.c neither)

    So and this is the /proc/interrupts output:
    0: 2991777 15 IO-APIC-edge timer
    2: 0 0 XT-PIC cascade
    5: 434913 1 IO-APIC-level eth0
    8: 2 0 IO-APIC-edge rtc
    9: 383701 0 IO-APIC-level eth1
    10: 101 0 IO-APIC-level sym53c8xx
    11: 0 0 IO-APIC-level uhci_hcd
    15: 14543 1 IO-APIC-level Mylex DAC960PG

    As you may see my only sources of entropy where the timer, eth0, eth1
    and the DAC960.
    So I patched my 3 drivers (near request_irq, sending SA_SAMPLE_RANDOM |
    SA_SHIRQ in the call).
    Now I have entropy :+):

    # cat /proc/sys/kernel/random/entropy_avail
    4096

    The quick question (at last), is this "right?" I mean, everything works
    as before, no problems (so far) and the php developer is happy. It is
    "risky" to put this in the DAC960 driver? (seems pretty much complicated
    compared with others i've touched in my life)

    Thanks for any advice.
    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 14:08    [W:6.570 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site