You are not alone.
I used the installer to put Debian on mine and it is only doing 100Mbs as well. Wow. I should have noticed this earlier.
The NAS attached to the same switch reports a 1000Mbps connection.
The ethtool output:
debian:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP AUI BNC MII FIBRE ]
Supported link modes: 10baseT/Half 10baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Link partner advertised link modes: Not reported
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: No
Link detected: yes
The relevent dmesg lines:
[ 0.000000] Linux version 2.6.30-2-kirkwood (Debian 2.6.30-8) (firstname.lastname@example.org) (gcc version 4.3.4 (Debian 4.3.4-3) ) #1 Sun Sep 27 22:57:55 UTC 2009
[ 0.000000] CPU: Feroceon 88FR131  revision 1 (ARMv5TE), cr=00053977
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Marvell SheevaPlug Reference Board
[ 12.880000] MV-643xx 10/100/1000 ethernet driver version 1.4
[ 12.890000] mv643xx_eth smi: probed
[ 12.970000] net eth0: port 0 with MAC address xx:xx:xx:xx:xx:xx
[ 13.330000] mmc0: mvsdio driver initialized, lacking card detect (fall back to polling)
[ 13.800000] Adding 1365484k swap on /dev/sda5. Priority:-1 extents:1 across:1365484k
[ 13.960000] EXT3 FS on sda2, internal journal
[ 14.160000] loop: module loaded
[ 17.460000] NET: Registered protocol family 10
[ 17.460000] lo: Disabled Privacy Extensions
[ 17.470000] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 37.190000] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 37.200000] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 47.110000] RPC: Registered udp transport module.
[ 47.110000] RPC: Registered tcp transport module.
[ 47.170000] Slow work thread pool: Starting up
[ 47.170000] Slow work thread pool: Ready
[ 47.180000] FS-Cache: Loaded
[ 47.270000] FS-Cache: Netfs 'nfs' registered for caching
[ 47.460000] eth0: no IPv6 routers present
[ 47.560000] svc: failed to register lockdv1 RPC service (errno 97).
This isn't hurting me right now as SqueezeBox Server (formerly SlimServer and SqueezeCenter) doesn't require a big pipe; but, I need to understand why this is happening.
EDIT: My problem is switch related. When attached to a different Ge switch, everything is fine and the plug comes up 20 seconds faster. YMMV.
[ 17.930000] eth0: link up, 1000 Mb/s, full duplex, flow control disabled
EDIT 2: I spoke too soon. I reattached to the previous switch and got a Ge connection. There seems to be a problem in the ethernet negotiation process. Sometimes I get 1000 and other times I get 100.