You are not logged in.

#1 2010-02-05 09:45:30

samuele.mattiuzzo
Member
From: Treviso, IT
Registered: 2009-10-12
Posts: 307
Website

Cannot mount usb anymore (/dev/sdb doesn't exist)

Hi!
I modified rc.conf and rc.sysint and everything works fine, except i cannot mount usb drives! lsusb shows them, usb ports are working (i'm using a usb wireless mouse, and it works without any problem)

this is my rc.conf

#
# /etc/rc.conf - Main Configuration for Arch Linux
#

# -----------------------------------------------------------------------
# LOCALIZATION
# -----------------------------------------------------------------------
#
# LOCALE: available languages can be listed with the 'locale -a' command
# HARDWARECLOCK: set to "UTC" or "localtime"
# USEDIRECTISA: use direct I/O requests instead of /dev/rtc for hwclock
# TIMEZONE: timezones are found in /usr/share/zoneinfo
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
#
LOCALE="it_IT.utf8"
HARDWARECLOCK="localtime"
USEDIRECTISA="no"
TIMEZONE="Europe/Rome"
KEYMAP="it"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"

# -----------------------------------------------------------------------
# HARDWARE
# -----------------------------------------------------------------------
#
# MOD_AUTOLOAD: Allow autoloading of modules at boot and when needed
# MOD_BLACKLIST: Prevent udev from loading these modules
# MODULES: Modules to load at boot-up. Prefix with a ! to blacklist.
#
# NOTE: Use of 'MOD_BLACKLIST' is deprecated. Please use ! in the MODULES array.
#
MOD_AUTOLOAD="no"
#MOD_BLACKLIST=() #deprecated

MODULES=(ac battery button processor thermal video btusb intel-agp drm_kms_helper drm i915 hid i2c-algo-bit i2c-i801 i2c-core evdev joydev !pcspkr !snd-pcsp psmouse serio_raw uvcvideo v4l1-compat v4l2-compat-ioctl32 videodev mmc_core pci_hotplug shpchp wmi rtc-cmos rtc-core rtc-lib !b43 !ssb output iTCO_vendor_support iTCO_wdt snd-mixer-oss snd-pcm-oss snd-hwdep snd snd-page-alloc snd-pcm snd-timer snd-hda-codec snd-hda-intel soundcore scsi_mod ahci mii r8169 bluetooth rfkill lib80211_crypt_tkip wl !lib80211 pcmcia_core pcmcia usbhid usbcore ehci-hcd uhci-hcd sd_mod st)

#MODULES=(!b43 !ssb lib80211_crypt_tkip wl !snd-pcsp !pcspkr)


# Scan for LVM volume groups at startup, required if you use LVM
USELVM="no"

# -----------------------------------------------------------------------
# NETWORKING
# -----------------------------------------------------------------------
#
# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts
#
HOSTNAME="neplero"

# Use 'ifconfig -a' or 'ls /sys/class/net/' to see all available interfaces.
#
# Interfaces to start at boot-up (in this order)
# Declare each interface then list in INTERFACES
#   - prefix an entry in INTERFACES with a ! to disable it
#   - no hyphens in your interface names - Bash doesn't like it
# 
# DHCP:     Set your interface to "dhcp" (eth0="dhcp")
# Wireless: See network profiles below
#

#Static IP example
#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"
#eth0="dhcp"
#INTERFACES=(eth0)

# Routes to start at boot-up (in this order)
# Declare each route then list in ROUTES
#   - prefix an entry in ROUTES with a ! to disable it
#
gateway="default gw 192.168.0.1"
ROUTES=(!gateway)
 
# Enable these network profiles at boot-up.  These are only useful
# if you happen to need multiple network configurations (ie, laptop users)
#   - set to 'menu' to present a menu during boot-up (dialog package required)
#   - prefix an entry with a ! to disable it
#
# Network profiles are found in /etc/network.d
#
# This now requires the netcfg package
#
#NETWORKS=(main)

# -----------------------------------------------------------------------
# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
#   - prefix a daemon with a ! to disable it
#   - prefix a daemon with a @ to start it up in the background
#
DAEMONS=(@syslog-ng @netfs @crond hal !dbus !bluetooth @alsa)

this is my rc.sysinit

#!/bin/bash
#
# /etc/rc.sysinit
#

. /etc/rc.conf
. /etc/rc.d/functions

echo " "
printhl "Arch Linux\n"
printhl "${C_H2}http://www.archlinux.org"
printhl "Copyright 2002-2007 Judd Vinet"
printhl "Copyright 2007-2009 Aaron Griffin"
printhl "Distributed under the GNU General Public License (GPL)"
printsep

# mount /proc, /sys and our RAM /dev
/bin/mount -n -t ramfs none /dev
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys

# Copy static device nodes to /dev
/bin/cp -a /lib/udev/devices/* /dev/

# start up our mini logger until syslog takes over
/sbin/minilogd

# anything more serious than KERN_WARNING goes to the console
# 'verbose' cmdline parameter enables more messages
if /bin/grep -q " verbose" /proc/cmdline; then
    /bin/dmesg -n 8
else
    /bin/dmesg -n 3
fi

# enable rtc access
/sbin/modprobe rtc-cmos >/dev/null 2>&1
RTC_MAJOR=$(/bin/grep -w rtc /proc/devices 2>/dev/null); RTC_MAJOR="${RTC_MAJOR%% *}"
if [ -n "$RTC_MAJOR" ]; then
    /bin/mknod /dev/rtc0 c $RTC_MAJOR 0
    /bin/ln -s /dev/rtc0 /dev/rtc
fi

HWCLOCK_PARAMS="--hctosys"
if [ "$HARDWARECLOCK" = "UTC" ]; then
    HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc"
else
    HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime"
fi
if [ "$USEDIRECTISA" = "yes" -o "$USEDIRECTISA" = "YES" ]; then
    HWCLOCK_PARAMS="$HWCLOCK_PARAMS --directisa"
fi

# Set clock early to fix some bugs with filesystem checks
# Clock is set again later to match rc.conf
if [ -f /etc/localtime ]; then
    /sbin/hwclock $HWCLOCK_PARAMS --noadjfile
fi

echo > /proc/sys/kernel/hotplug

if [ -x /sbin/udevadm -a -d /sys/block  ]; then
    stat_busy "Starting UDev Daemon"
    /sbin/udevd --daemon
    /sbin/udevadm trigger &
    udevstart="$(/bin/date +%s%0N)"
    stat_done
else
    # Static /dev, our last resort
    status "Using static /dev filesystem" true
fi


# Load modules from the MODULES array defined in rc.conf
if ! [ "$load_modules" = "off" ]; then
    if [ -f /proc/modules ]; then
        stat_busy "Loading Modules"
        for mod in "${MODULES[@]}"; do
            if [ "$mod" = "${mod#!}" ]; then
                /sbin/modprobe $mod &
            fi
        done
        stat_done
    fi
    if [ -d /proc/acpi ]; then
        stat_busy "Loading standard ACPI modules"
        ACPI_MODULES="ac battery button fan processor thermal"
        k="$(echo $BLACKLIST ${MOD_BLACKLIST[@]} | /bin/sed 's|-|_|g')"
        j="$(echo ${MODULES[@]} | /bin/sed 's|-|_|g')"
        #add disabled MODULES (!) to blacklist - much requested feature
        for m in ${j}; do
                [ "$m" != "${m#!}" ] && k="${k} ${m#!}"
        done
        # add disablemodules= from commandline to blacklist
        k="${k} $(echo ${disablemodules} | /bin/sed 's|-|_|g' | /bin/sed 's|,| |g')"
        for n in ${ACPI_MODULES}; do
            if ! echo ${k} | /bin/grep "\<$n\>" 2>&1 >/dev/null; then
                /sbin/modprobe $n > /dev/null 2>&1 &
            fi
        done
        stat_done
    fi
fi

# Wait for udev uevents
if /bin/pidof -o %PPID /sbin/udevd >/dev/null; then
        stat_busy "Loading UDev events"
    /sbin/udevadm settle
    stat_done
    udevend="$(/bin/date +%s%0N)"
    printhl "   UDev uevent processing time: $((($udevend-$udevstart)/1000000))ms"
fi

# bring up the loopback interface
if [ -d /sys/class/net/lo ]; then
    stat_busy "Bringing up loopback interface"
    /sbin/ifconfig lo 127.0.0.1 up &
    if [ $? -ne 0 ]; then
        stat_fail
    else
        stat_done
    fi
fi

status "Mounting Root Read-only" /bin/mount -n -o remount,ro /

FORCEFSCK=
[ -f /forcefsck ] && FORCEFSCK="-- -f"
NETFS="nonfs,nonfs4,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,noshfs,nofuse,nofuseblk"

fsck_reboot() {
    echo "Automatic reboot in progress..."
    /bin/umount -a
    /bin/mount -n -o remount,ro /
    /sbin/reboot -f
    exit 0
}

if [ -x /sbin/fsck ]; then
    stat_busy "Checking Filesystems"
    FSCK_OUT=/dev/stdout
    FSCK_ERR=/dev/null
    /sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK >$FSCK_OUT 2>$FSCK_ERR
    fsckret=$?
    if [ ${fsckret} -gt 1 ]; then
        stat_fail
    fi
    if [ $((${fsckret}&2)) -eq 2 ]; then
        echo
        echo "********************** REBOOT REQUIRED *********************"
        echo "*                                                          *"
        echo "* The system will be rebooted automatically in 15 seconds. *"
        echo "*                                                          *"
        echo "************************************************************"
        echo
        /bin/sleep 15
        fsck_reboot
    fi
    if [ ${fsckret} -gt 1 -a ${fsckret} -ne 32 ]; then
        echo
        echo "*****************  FILESYSTEM CHECK FAILED  ****************"
        echo "*                                                          *"
        echo "*  Please repair manually and reboot. Note that the root   *"
        echo "*  file system is currently mounted read-only. To remount  *"
        echo "*  it read-write type: mount -n -o remount,rw /            *"
        echo "*  When you exit the maintenance shell the system will     *"
        echo "*  reboot automatically.                                   *"
        echo "*                                                          *"
        echo "************************************************************"
        echo
        /sbin/sulogin -p
        fsck_reboot
    fi
    stat_done
fi

stat_busy "Mounting Local Filesystems"
/bin/mount -n -o remount,rw /
/bin/rm -f /etc/mtab*
# make sure / gets written to /etc/mtab
/bin/mount -o remount,rw /
# Write /proc, /sys and /dev to /etc/mtab
if [ -e /proc/mounts ]; then
    /bin/grep -e "/proc " -e "/sys " -e "/dev " /proc/mounts >> /etc/mtab
fi
# now mount all the local filesystems
/bin/mount -a -t $NETFS
stat_done

status "Activating Swap" /sbin/swapon -a &

stat_busy "Configuring System Clock"
if [ ! -f /var/lib/hwclock/adjtime ]; then
    echo "0.0 0 0.0" > /var/lib/hwclock/adjtime &
fi

if [ "$TIMEZONE" != "" -a -e "/usr/share/zoneinfo/$TIMEZONE" ]; then
    /bin/rm -f /etc/localtime
    /bin/cp "/usr/share/zoneinfo/$TIMEZONE" /etc/localtime
fi

/sbin/hwclock --adjust #Adjust for system drift
/sbin/hwclock $HARDWARE_CLOCK &
stat_done

RANDOM_SEED=/var/lib/misc/random-seed
if [ -f $RANDOM_SEED ]; then
    stat_busy "Initializing Random Seed"
    /bin/cat $RANDOM_SEED > /dev/urandom &
    stat_done
fi

stat_busy "Removing Leftover Files"
/bin/rm -f /etc/nologin &>/dev/null
/bin/rm -f /etc/shutdownpid &>/dev/null
/bin/rm -f /var/lock/* &>/dev/null
/bin/rm -rf /tmp/* /tmp/.* &>/dev/null
/bin/rm -f /forcefsck &>/dev/null
(cd /var/run && /usr/bin/find . ! -type d -exec /bin/rm -f -- {} \; )
: > /var/run/utmp
/bin/chmod 0664 /var/run/utmp
# Keep {x,k,g}dm happy with xorg
/bin/mkdir /tmp/.ICE-unix && /bin/chmod 1777 /tmp/.ICE-unix
/bin/mkdir /tmp/.X11-unix && /bin/chmod 1777 /tmp/.X11-unix
stat_done

#status "Updating Shared Library Links" /sbin/ldconfig

status "Setting Hostname: neplero" /bin/hostname "neplero"


# Set the NIS domain name, if necessary
#[ -f /etc/conf.d/nisdomainname ] && . /etc/conf.d/nisdomainname
#if [ "$NISDOMAINNAME" != "" ]; then
#    status "Setting NIS Domain Name: $NISDOMAINNAME" /bin/nisdomainname $NISDOMAINNAME
#fi

status "Updating Module Dependencies" /sbin/depmod -A &

# Flush old locale settings
: >/etc/profile.d/locale.sh
/bin/chmod 755 /etc/profile.d/locale.sh
# Set user defined locale
[ -z "$LOCALE" ] && LOCALE="en_US"
stat_busy "Setting Locale: $LOCALE"
echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh
stat_done

if echo "$LOCALE" | /bin/grep -qi utf ; then
    stat_busy "Setting Consoles to UTF-8 mode"
    # UTF-8 consoles are default since 2.6.24 kernel
    # this code is needed not only for older kernels,
    # but also when user has set vt.default_utf8=0 but LOCALE is *.UTF-8.
    for i in $(/usr/bin/seq 0 63); do
        /usr/bin/kbd_mode -u < /dev/tty${i}
        printf "\e%%G" > /dev/tty${i}
    done
    # the $CONSOLE check helps us avoid this when running scripts from cron
    echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "\e%%G"; fi' >>/etc/profile.d/locale.sh
    stat_done
    [ -n "$KEYMAP" ] && status "Loading Keyboard Map: $KEYMAP" /bin/loadkeys -q -u $KEYMAP
else
    stat_busy "Setting Consoles to legacy mode"
    # make non-UTF-8 consoles work on 2.6.24 and newer kernels
    for i in $(/usr/bin/seq 0 63); do
        /usr/bin/kbd_mode -a < /dev/tty${i}
        printf "\e%%@" > /dev/tty${i}
    done
    # the $CONSOLE check helps us avoid this when running scripts from cron
    echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "\e%%@"; fi' >>/etc/profile.d/locale.sh
    stat_done
    [ -n "$KEYMAP" ] && status "Loading Keyboard Map: $KEYMAP" /bin/loadkeys -q $KEYMAP &
fi

if [ -n "$CONSOLEFONT" ]; then
    stat_busy "Loading Console Font: $CONSOLEFONT"
    #CONSOLEMAP in UTF-8 shouldn't be used
    if [ -n "$CONSOLEMAP" ] && echo "$LOCALE" | /bin/grep -qi utf ; then
        CONSOLEMAP=""
    fi
    for i in $(/usr/bin/seq 0 63); do
        if [ -n "$CONSOLEMAP" ]; then
            /usr/bin/setfont -m $CONSOLEMAP $CONSOLEFONT -C /dev/tty${i} >/dev/null 2>&1
        else
            /usr/bin/setfont $CONSOLEFONT -C /dev/tty${i} >/dev/null 2>&1
        fi
    done
    if [ $? -ne 0 ]; then
        stat_fail
    else
        for i in $(/usr/bin/seq 0 63); do
            printf "\e(K" > /dev/tty${i}
        done
        # the $CONSOLE check helps us avoid this when running scripts from cron
        echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "\e(K"; fi' >>/etc/profile.d/locale.sh
        stat_done
    fi
fi

# Adding persistent network/cdrom generated rules
if [ -f "/dev/.udev/tmp-rules--70-persistent-cd.rules" ]; then
    stat_busy "Adding persistent cdrom udev rules"
    /bin/cat /dev/.udev/tmp-rules--70-persistent-cd.rules >> /etc/udev/rules.d/70-persistent-cd.rules
    stat_done
fi
if [ -f "/dev/.udev/tmp-rules--70-persistent-net.rules" ]; then
    stat_busy "Adding persistent network udev rules"
    /bin/cat /dev/.udev/tmp-rules--70-persistent-net.rules >> /etc/udev/rules.d/70-persistent-net.rules
    stat_done
fi

/bin/dmesg >| /var/log/dmesg.log &

# End of file
# vim: set ts=2 noet:

can you give a hint? what's missing on them? thanks!

Last edited by samuele.mattiuzzo (2010-02-05 10:13:26)

Offline

#2 2010-02-05 10:23:49

tomk
Forum Fellow
From: Ireland
Registered: 2004-07-21
Posts: 9,839

Re: Cannot mount usb anymore (/dev/sdb doesn't exist)

# MOD_AUTOLOAD: Allow autoloading of modules at boot and when needed
MOD_AUTOLOAD="no"

If you turn this off, you wll have to load the modules you need manually - usb-storage, in this case.

Offline

#3 2010-02-05 11:14:16

samuele.mattiuzzo
Member
From: Treviso, IT
Registered: 2009-10-12
Posts: 307
Website

Re: Cannot mount usb anymore (/dev/sdb doesn't exist)

yup, thanks! that solved big_smile

Offline

#4 2010-02-06 11:06:38

dcc24
Member
Registered: 2009-10-31
Posts: 732

Re: Cannot mount usb anymore (/dev/sdb doesn't exist)

I was having the exact same problem and adding usb-storage to the modules array solved it.

Still, I've used "hwdetect --modules" to generate that list, shouldn't it automatically include usb-storage?

<offtopic>Please mark the thread as [SOLVED]</offtopic>


It is better to keep your mouth shut and be thought a fool than to open it and remove all doubt. (Mark Twain)

My AUR packages

Offline

#5 2010-02-06 13:33:46

Mr.Elendig
#archlinux@freenode channel op
From: The intertubes
Registered: 2004-11-07
Posts: 4,092

Re: Cannot mount usb anymore (/dev/sdb doesn't exist)

Only if you had a usb stick plugged in when you ran it. (not to mention that hwd/hwdetect is not reliable at all)


Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest

Offline

#6 2010-02-21 00:23:15

trusktr
Banned
From: .earth
Registered: 2010-02-18
Posts: 907
Website

Re: Cannot mount usb anymore (/dev/sdb doesn't exist)

hey guys, if you don't see your USB devices, it could just mean your system doesn't know what to do with them, but it knows they are there. you can see connected devices with lsusb.

I was happy to see my devices were connected. The thing is though, gnome doesn't come with any type of interface to show you if anything is connected.

I guess here enters "usbview"... I installed it, but it is not working at all.

When i plug in a flash drive (that i just found, hehe) it pops up on the desktop and a browser opens. But when I run "usbview" the window opens, but no devices are shown and it comes up with an error:

USBView Error

Can not open the file /proc/bus/usb/devices

Verify that you have USB compiled into your kernel, have the USB core modules loaded, and have the usbdevfs filesystem mounted.

How can I verify the suggestions the message gives?


joe@trusktr.io - joe at true skater dot io.

Offline

#7 2010-04-11 19:22:18

na12
Member
From: /home/serbia
Registered: 2008-12-23
Posts: 752

Re: Cannot mount usb anymore (/dev/sdb doesn't exist)

I have the same problem,Dmesg output show that usb is connected

usb 1-3: new high speed USB device using ehci_hcd and address 5
usb 1-3: configuration #1 chosen from 1 choice

but fdisk can't find it

┌─[dany @ 21:08:22] 
└─[~]>> fdisk -l

Disk /dev/sda: 41.1 GB, 41109061120 bytes
255 heads, 63 sectors/track, 4997 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00018ff6

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2422    19454683+   7  HPFS/NTFS
/dev/sda2            2423        3042     4980150   83  Linux
/dev/sda3            3043        3135      747022+  83  Linux
/dev/sda4            3136        4997    14956515    7  HPFS/NTFS

Thunar doesn't show anything,I don't know what is the problem here.

Offline

Board footer

Powered by FluxBB