# How to get USB3 to work on my motherboard?



## WiiGame (Jan 24, 2013)

I'm an old UNIX-user becoming a noob-admin at home. I built a FreeBSD media/backup server over Christmas and have successfully used a lot of info here to overcome several challenges along the way and avoid bothering you folks ... until now. Now, I'm just looking for the quickest way to get this running with all my drives, even if not perfect, before the baby is born ~March 31st.

I tend to be wordy so I'll try to cut straight to the issue with minimal extras:

ASRock H77 Pro4-M motherboard with two USB3 ports in the back and a USB3 header in the front, where I plugged my case's big, blue front-panel cable leading to the two front ports. Plug Seagate 3TB USB3 STBV3000100 (containing a ST3000DM0001) into a rear USB3 port and get 40MB/s transfers reported at boot time. Writing 2.5TB to it took 25 hours. I need that to come down and use USB 3.0 speeds.

Through searching here and elsewhere, I've learned:
- What I want is XHCI.
- The xhci man page is useless for this.
- A significant XHCI bug was fixed with FreeBSD 9.1, and that is what I'm running here.
- XCHI is loading, in fact, but on usbus0 only, and the rear ports connected to the drive are loading as usbus2. When putting this HDD on the front ports, it doesn't register anywhere at all.
- I don't know where this usbus0 really is, but I think it is the wrong place.
- I can't find any tutorial, primer, or basically anything describing the basics of how to install a device driver for FreeBSD, if that is what's needed here; is a kernel build required (I'm trying to avoid that); or maybe just the right lines in some "loader" file?
- I received plenty of hits to tell me how to *write* a device driver, but not install one.
- I learned most of the key terms in the above bullets earlier today.

If someone could make time to tell me what I am missing here, I will appreciate it immensely. What else can I provide to help you assist me most efficiently? Thanks!


----------



## jem (Jan 24, 2013)

Can you post the output of the following commands:

`# grep usbus /var/run/dmesg.boot`
`# usbconfig`
`# pciconf -lv`


----------



## WiiGame (Jan 25, 2013)

Thanks so much (for quick reply and willingness to help)! 2 of those I'd never heard of. Hope I'm posting this right ...


```
grep usbus /var/run/dmesg.boot
usbus0 on xhci0
usbus1: EHCI version 1.0
usbus1 on ehci0
usbus2: EHCI version 1.0
usbus2 on ehci1
usbus0: 5.0Gbps Super Speed USB v3.0
usbus1: 480Mbps High Speed USB v2.0
usbus2: 480Mbps High Speed USB v2.0
ugen0.1: <0x8086> at usbus0
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ugen2.1: <Intel> at usbus2
uhub2: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2
ugen2.2: <vendor 0x8087> at usbus2
uhub3: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on usbus2
ugen1.2: <vendor 0x8087> at usbus1
uhub4: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on usbus1
Root mount waiting for: usbus1
ugen1.3: <SanDisk> at usbus1
umass0: <SanDisk Firebird USB Flash Drive, class 0/0, rev 2.00/1.26, addr 3> on usbus1
ugen2.3: <Seagate> at usbus2
umass1: <Seagate Expansion Desk, class 0/0, rev 2.10/1.00, addr 3> on usbus2
usbus0 on xhci0
usbus1: EHCI version 1.0
usbus1 on ehci0
usbus2: EHCI version 1.0
usbus2 on ehci1
usbus0: 5.0Gbps Super Speed USB v3.0
usbus1: 480Mbps High Speed USB v2.0
usbus2: 480Mbps High Speed USB v2.0
ugen0.1: <0x8086> at usbus0
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ugen2.1: <Intel> at usbus2
uhub2: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2
ugen1.2: <vendor 0x8087> at usbus1
uhub3: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on usbus1
ugen2.2: <vendor 0x8087> at usbus2
uhub4: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on usbus2
Root mount waiting for: usbus2 usbus1
ugen1.3: <SanDisk> at usbus1
umass0: <SanDisk Firebird USB Flash Drive, class 0/0, rev 2.00/1.26, addr 3> on usbus1
ugen2.3: <Seagate> at usbus2
umass1: <Seagate Expansion Desk, class 0/0, rev 2.10/1.00, addr 3> on usbus2
```


```
usbconfig
ugen0.1: <XHCI root HUB 0x8086> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE
ugen1.1: <EHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.1: <EHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen1.2: <product 0x0024 vendor 0x8087> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.2: <product 0x0024 vendor 0x8087> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen1.3: <Firebird USB Flash Drive SanDisk> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen2.3: <Expansion Desk Seagate> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
```


```
pciconf -lv
hostb0@pci0:0:0:0:      class=0x060000 card=0x01001849 chip=0x01008086 rev=0x09 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '2nd Generation Core Processor Family DRAM Controller'
    class      = bridge
    subclass   = HOST-PCI
vgapci0@pci0:0:2:0:     class=0x030000 card=0x01021849 chip=0x01028086 rev=0x09 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '2nd Generation Core Processor Family Integrated Graphics Controller'
    class      = display
    subclass   = VGA
xhci0@pci0:0:20:0:      class=0x0c0330 card=0x1e311849 chip=0x1e318086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Panther Point USB xHCI Host Controller'
    class      = serial bus
    subclass   = USB
none0@pci0:0:22:0:      class=0x078000 card=0x1e3a1849 chip=0x1e3a8086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Panther Point MEI Controller'
    class      = simple comms
ehci0@pci0:0:26:0:      class=0x0c0320 card=0x1e2d1849 chip=0x1e2d8086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Panther Point USB Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
hdac0@pci0:0:27:0:      class=0x040300 card=0x88921849 chip=0x1e208086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Panther Point High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
pcib1@pci0:0:28:0:      class=0x060400 card=0x1e101849 chip=0x1e108086 rev=0xc4 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'Panther Point PCI Express Root Port 1'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:28:5:      class=0x060400 card=0x1e1a1849 chip=0x1e1a8086 rev=0xc4 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'Panther Point PCI Express Root Port 6'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:28:7:      class=0x060400 card=0x1e1e1849 chip=0x1e1e8086 rev=0xc4 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'Panther Point PCI Express Root Port 8'
    class      = bridge
    subclass   = PCI-PCI
ehci1@pci0:0:29:0:      class=0x0c0320 card=0x1e261849 chip=0x1e268086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Panther Point USB Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
isab0@pci0:0:31:0:      class=0x060100 card=0x1e4a1849 chip=0x1e4a8086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Panther Point LPC Controller'
    class      = bridge
    subclass   = PCI-ISA
ahci1@pci0:0:31:2:      class=0x010601 card=0x1e021849 chip=0x1e028086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Panther Point 6 port SATA AHCI Controller'
    class      = mass storage
    subclass   = SATA
none1@pci0:0:31:3:      class=0x0c0500 card=0x1e221849 chip=0x1e228086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Panther Point SMBus Controller'
    class      = serial bus
    subclass   = SMBus
re0@pci0:2:0:0: class=0x020000 card=0x81681849 chip=0x816810ec rev=0x06 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
    class      = network
    subclass   = ethernet
ahci0@pci0:3:0:0:       class=0x010601 card=0x06121849 chip=0x06121b21 rev=0x01 hdr=0x00
    vendor     = 'ASMedia Technology Inc.'
    class      = mass storage
    subclass   = SATA
```


----------



## wblock@ (Jan 25, 2013)

What revision of FreeBSD?  Also, USB 3.0 hardware is highly variable.  This article is interesting: http://vr-zone.com/articles/usb-3.0-speed-tests--7-way-host-controllers-roundup/13358-1.html.


----------



## WiiGame (Jan 25, 2013)

Thanks! Will read. Still hopeful. My path will take forever at current speeds.


```
uname -a
FreeBSD [redacted] 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec  4 09:23:10 UTC 2012
root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
```


----------



## WiiGame (Jan 25, 2013)

By the way, can a resilver be stopped (safely) in mid-silver? If so, how?
(Seems unrelated but affects what I'll do next while getting this resolved.)


----------



## wblock@ (Jan 25, 2013)

I don't know if there's a way to stop a resilver.  But more than one source has advised that USB is not good for ZFS or even UFS.  Random disconnects are mentioned.  eSATA would be better, if the drive has a connector for it.


----------



## WiiGame (Jan 25, 2013)

Thanks again, wblock. Maybe I'll wait for an answer before retrying that.

I didn't want to get into this here, but what I'm trying to do is this. Short version to avoid clicking the link: add a 3rd drive to a mirror, let it resilver, disconnect it, and voila -- a full backup. I'm well aware many folks have philosophical issues with this; if so, please be sure to read the post on that link and the entire related thread before adding discussion here that may be redundant. I may change, but at the moment I don't see a clearer, simpler, workable backup strategy for this.

So I'm in a testing phase now, and I just want this resilvering to occur in something better than 25hrs; even if it was just a simple full backup, I imagine I'd have a similar time issue. Plus, I don't want to start another resilver right now, get an answer on USB3 in a few hours, and then not be able to stop and try it.

Thanks for the heads up (I didn't know), but I'd like to see a disconnect on my end before being concerned about that. Plus, since this is only for periodic, temporary use over USB, I'm ok with it until it presents a problem. It's already worked once, albeit slooooooow. And ZFS should tell me about that from a data integrity standpoint, right? (i.e., in a ZFS setup, I shouldn't be able to resilver like that, end up with a compromised backup, and not know that until I need it)

The external drive I'm using is only USB. I had wanted to keep a few of these external backup drives intact to make them more easily and safely portable. I have an eSATA dock, but I'd have to break open these backup drives, plus I lose an internal SATA port on this motherboard by using the rear eSATA port. My plan is to have 10 drives in here when complete so each internal port is precious right now.


----------



## jem (Jan 25, 2013)

WiiGame said:
			
		

> Thanks so much (for quick reply and willingness to help)! 2 of those I'd never heard of. Hope I'm posting this right ...
> 
> 
> ```
> ...



This is telling me that your flash drive and Seagate disk are not connected to the USB3 ports.

Your machine has three USB buses, one is USB3 (usbus0) and the other two are USB2 (usbus1 and usbus2).  You need to work out which physical ports are on which bus.

I would suggest connecting your USB stick to each USB port in turn and checking the console to see which bus FreeBSD detects the connection on.  Leave it a good few seconds between each unplug/replug for things to settle.


----------



## WiiGame (Jan 26, 2013)

**sigh**

Thanks, jem. That helped get me going. No knock on you but I guess I was hoping, since I know so little, that there was some UNIX ninja way to look at the available data and say, "oh, here's the answer." I now see how foolish that was.

So I did something like what you suggested. I filled all the holes and put on 10 devices to cover 10 USB ports (6 on the board, rear; 4 on the case, front). In the process, I also discovered that the USB3 front panel cable was loose on the header (which has no clips) and fixed that.

Below is what I got for usbconfig. I manually added the [USB#] to the end of all device lines below. These USB#s correspond to ASRock's names for the ports, per these 2 PDF layout pages from the board's manual, if you're interested. Or suffice to say that the four 3.0 ports are USB 4, 5, 12, and 13; per below, those are all on usbus2, but not the only ports on usbus2. I don't see how they could be interpreted as the same bus.


```
usbconfig
ugen0.1: <XHCI root HUB 0x8086> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE
ugen1.1: <EHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.1: <EHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen1.2: <product 0x0024 vendor 0x8087> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.2: <product 0x0024 vendor 0x8087> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen1.3: <USB 2.0 FD PNY Technologies> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON [USB8]
ugen2.3: <Expansion Desk Seagate> at [color="blue"]usbus2[/color], cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON [[color="Blue"]USB4[/color]]
ugen1.4: <Patriot Memory vendor 0x13fe> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON [USB3]
ugen2.4: <Mass Storage Device Generic> at [color="blue"]usbus2[/color], cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON [[color="blue"]USB13[/color]]
ugen1.5: <Firebird USB Flash Drive SanDisk> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON [USB2]
ugen2.5: <I2C USB Disk Alcor Micro Corp> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON [USB1]
ugen1.6: <U3 Cruzer Micro SanDisk Corporation> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON [USB9]
ugen2.6: <Expansion Desk Seagate> at [color="blue"]usbus2[/color], cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON [[color="blue"]USB5[/color]]
ugen2.7: <Expansion Desk Seagate> at [color="blue"]usbus2[/color], cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON [[color="blue"]USB12[/color]]
ugen2.8: <Expansion Desk Seagate> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON [USB0]
```

What jumps out at me after studying this enough is the complete lack of a:
	
	



```
ugen[color="Red"][B]0[/B][/color].2: <product 0x0024 vendor 0x8087> at usbus[color="red"][B]0[/B][/color]
```
 ... whatever that means. It almost seems like the ugenX.1s represents the logic in the board, the ugenX.2s represent our access to that, and then there just isn't one for "point zero." But there are four blue ports that match up with the documented layout.

I tried to account for the ".2s" being the "interface" by moving the front panel USB 2.0 cable to the other available headers (yes, I knew that was a long shot, but these were the only other USB headers not yet tried). My first move (from the USB_8_9 header to the USB_6_7 header) resulted in those 2 ports and devices disappearing from the above list. OK, I'm ignoring that one. Then, exercising my final possibility, I moved the same cable to the USB_10_11 header, which had the same result as the original usbconfig (a little order change, but I'm led to believe that's expected boot-to-boot in UNIX).

So that all seems to leave me with contacting ASRock (ugh) and see what they say? Or perhaps FreeBSD simply does not all the proper drivers for this board yet? Or is there a better ending where I just have to do something a certain way to get the OS to talk to this hardware properly?

The only other thing I noticed was, because I dropped into the BIOS during one of these reboots, that there are the following USB BIOS settings:
USB 2.0 Controller = Enabled
USB 3.0 Controller = Enabled
USB 2.0 Legacy = Enabled
USB 3.0 Legacy = Enabled (this is the one that actually mentions xhci in the description)

Just wondering if anyone understands this well enough to recommend a path.
Thanks again, all!


----------



## Uniballer (Jan 26, 2013)

I have been getting USB 3.0 speed from an ASUS P8Z68-V LE (and others).

Excerpt from my pciconf -lv


```
xhci0@pci0:5:0:0:	class=0x0c0330 card=0x84881043 chip=0x10421b21 rev=0x00 hdr=0x00
    vendor     = 'ASMedia Technology Inc.'
    device     = 'ASM1042 SuperSpeed USB Host Controller'
    class      = serial bus
    subclass   = USB
xhci1@pci0:6:0:0:	class=0x0c0330 card=0x84881043 chip=0x10421b21 rev=0x00 hdr=0x00
    vendor     = 'ASMedia Technology Inc.'
    device     = 'ASM1042 SuperSpeed USB Host Controller'
    class      = serial bus
    subclass   = USB
```

Excerpt from my usbconfig


```
ugen1.1: <XHCI root HUB 0x1b21> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE
ugen2.1: <XHCI root HUB 0x1b21> at usbus2, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE
```

In your case you might be interested to know that the USB xhci code in 9.1-RELEASE is about 5 months old, and that there are changes MFC'ed into 9-STABLE about 2 months ago in revision 242774: 
	
	



```
MFC r238551 and r239617:
Add support for Intel Panther/Lynx Point XHCI port routing.
```

So I suspect that if you update to 9-STABLE your ports may start working. (I found this by looking at http://svnweb.freebsd.org/base/stable/9/sys/dev/usb/controller/?sortby=date#dirlist).


----------



## ddc (Jan 26, 2013)

Yeah, the setting should be in the BIOS under USB.


----------



## WiiGame (Jan 27, 2013)

re: releases -- Sorry, but my "noobness" is about to show: For natural reasons, I thought 9.1-anything would be the latest, so I must not understand FreeBSD releases. Would a move to 9-STABLE be an "upgrade?" Is there a quick primer page for upgrades? Plus, I don't know what MFC means in this context. My apologies.

re: BIOS -- If the answer is in the BIOS, since all the USB 3.0 BIOS settings are enabled, is there a BIOS reason that wouldn't work?


----------



## wblock@ (Jan 27, 2013)

A release is a snapshot in time.  -STABLE is the continuing development of that line.  So 9-STABLE now has new features and bug fixes (and bugs, yes) that were not in 9.1-RELEASE.

-CURRENT is the next line, FreeBSD 10.0.

"MFC" stands for Merge From Current, or merging features or bug fixes from -CURRENT (generally) to one of the earlier branches.


----------



## WiiGame (Jan 27, 2013)

Well, *that* clears up a lot. Thank you, wblock.

Seems like I picked the wrong version because that sounds to me like a recommendation to move to 9-STABLE, if "stable" is the kind of systems I want (and I do).

About the how: Should I assume that means reinstalling the OS? If not, what's better? And what, if anything, should I attempt to preserve in that process (and how)? I'm guessing these are linkable answers (i.e., I'm not expecting the steps spelled out for me here). *Important background note about that*: I'm running the OS (and only the OS) on that "Firebird" flash drive from my "usbconfig," while all my ZFSs running on mechanical HDDs off the SATA. Hopefully, that makes OS changes easier (which is why I did it that way).


----------



## Uniballer (Jan 27, 2013)

I wouldn't ordinarily recommend that a self-confessed noob track -STABLE, but if you want your hardware to work you either update to 9-STABLE or wait for 9.2-RELEASE.  I don't recommend that you try to take the driver code from 9-STABLE and build it into 9.1-RELEASE sources (that path leads to madness).

Install the devel/subversion port (or package if that works for you).  Delete everything under /usr/src and then run `# svn co [url=svn://svn.freebsd.org/base/stable/9]svn://svn.freebsd.org/base/stable/9[/url] /usr/src` to update your sources.  Then `# cd /usr/src`, `# make buildworld -j<cores>`, `# make buildkernel -j<cores>`, add user "auditdistd" with this info: 
	
	



```
auditdistd:*:78:77:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin
```
`# make installkernel` and `# make installworld`.  Then reboot the system cleanly and you should be running 9-STABLE.


----------



## wblock@ (Jan 27, 2013)

WiiGame said:
			
		

> Well, *that* clears up a lot. Thank you, wblock.
> 
> Seems like I picked the wrong version because that sounds to me like a recommendation to move to 9-STABLE, if "stable" is the kind of systems I want (and I do).



But that's not what "stable" means in this case: Upgrading FreeBSD To -STABLE.



> About the how: Should I assume that means reinstalling the OS?



Too much work.   See the link above.

Some people have problems running from USB devices.  It may depend on the device and controller.


----------



## jem (Jan 27, 2013)

WiiGame said:
			
		

> It almost seems like the ugenX.1s represents the logic in the board, the ugenX.2s represent our access to that



The ugenX.2 devices are generic USB hubs.

You mentioned you have four front panel ports on your chassis.  Do you have one pair of ports connected to a 9 pin header and the other pair connected to the 19 pin header?


----------



## WiiGame (Jan 27, 2013)

Uniballer said:
			
		

> I wouldn't ordinarily recommend that a self-confessed noob track -STABLE


Thanks for making an exception in my case, UB. 

Thanks to you both, actually. I took a bit of a detour along the way: setup an internal-drive-in-dock on eSATA, got 300MB/s declared, and brought resilvering down from 25hrs to 6.5hrs. Then, I read the "Tracking a Development Branch" link UB provided. Lacking the proper frame of reference, I had misinterpreted the point-in-time RELEASE to mean something that was left in the dust (and maybe that's true from a development perspective, but not from a "production" user perspective).

After reading that and WB's "That Word Does Not Mean What You Think It Means" (nice heading, Inigo), I now know I don't want to be on any development branch at all (but know how to get on one if I want to later). Converting from FreeBSD language to plain non-FreeBSD English, it seems that 9.1-RELEASE really is the most "current, stable" production release. If nothing else works, I can probably continue to work around this until 9.2-RELEASE ... is there a date target on that?



			
				jem said:
			
		

> You mentioned you have four front panel ports on your chassis.  Do you have one pair of ports connected to a 9 pin header and the other pair connected to the 19 pin header?


Yes. The pair of USB 2.0 ports are on one of the 9-pin USB 2.0 headers (that I moved around to test and one didn't work) and the pair of USB 3.0 ports ride on two blue cables, joining into one big connector onto the 19-pin USB 3.0 header. (This is the case, BTW, but the documentation for it is pathetic.)


----------



## wblock@ (Jan 27, 2013)

There is no date for 9.2 yet.  9.1 just finally got out a month ago.  Relating that to this thread, I think there were some USB changes that were MFCed to 9-STABLE.  And I think the hazards of running -STABLE are overstated.


----------



## WiiGame (Jan 28, 2013)

wblock@ said:
			
		

> 9.1 just finally got out a month ago.


Wow. I asked because I thought UB said it was 5 months old, but I looked again and UB was referring to the USB XHCI code.



			
				wblock@ said:
			
		

> I think there were some USB changes that were MFCed to 9-STABLE.


Yes, UB mentioned that above.

Things are progressing for now so I'll think about upgrading, and will likely do it if my detour becomes a problem. At least I now know this was not just an easy and/or known fix that I couldn't find.

Thanks to all for your assistance and generosity of knowledge!


----------



## WiiGame (Feb 14, 2013)

UPDATE: After using wblock's dump(8) instructions to backup my 9.1REL OS from my USB flash drive, I decided to go ahead with a blending of these instructions above to move to 9-STABLE to at least try USB3 there.

Turns out that this isn't working for me:
[CMD=""]svn checkout https://svn0.us-west.freebsd.org/base/stable/9 /usr/src[/CMD]
I keep getting this over and over (after receiving some files):

```
svn: E175002: REPORT of '/base/!svn/me': Could not read response body: Secure connection truncated
```
So I started over with this command:
[CMD="svn co [url=svn://svn.freebsd.org/base/stable/9]svn://svn.freebsd.org/base/stable/9[/url] /usr/src"]svn co svn://svn.freebsd.org/base/stable/9 /usr/src[/CMD]
which has been running for quite a long time, but hasn't been interrupted like https.

That's FYI, but the gist of my issue right now is really disk space.

Background: Somewhere in my research to build this first *nix server as a newbie (I had to use the urban dictionary to find out I don't mean the current understanding of "noob" per above), I read or got the impression that an 8GB flash drive would be "plenty" to run FreeBSD. I even think I read 4GB would be great, and I doubled it to be safe. However, ever since doing a standard I-don't-know-what-I'm-doing install of 9.1REL and adding recommended/needed ports like Samba, I've been hovering around 60% capacity on the OS drive (after port cleanups), and I'm really wondering if I sized this right and what I can delete that I don't really need.

My test restore of /usr/src from my 9.1REL (not on the OS drive) tells me it is ~732MB. But this svc checkout of 9-STABLE is at 1.5GB so far and still going! This is what my "df -h" looks like at this writing (excluding my mounted ZFS pools), and the download isn't even finished yet:

```
Filesystem                        Size    Used   Avail Capacity  Mounted on
/dev/da0p2                        6.9G    5.2G    1.1G    82%    /
devfs                             1.0k    1.0k      0B   100%    /dev
```

Actually, maybe this gives folks a better picture:

```
% gpart show
=>      34  15633341  da0  GPT  (7.5G)
        34       128    1  freebsd-boot  (64k)
       162  14847872    2  freebsd-ufs  (7.1G)
  14848034    780288    3  freebsd-swap  (381M)
  15628322      5053       - free -  (2.5M)
```

So, while I still have those sizing questions above, whatever final size the svn download turns out to be, how much space will I need to do the follow-on steps to upgrade this? Can this not really run with under 8GB without a lot of TLC? Anything I should do/should have done differently re: disk size, partitioning, what I keep, etc? I'm afraid of filling up and afraid to move forward without some advice on this point. Thanks!

P.S. - It finally finished shortly after posting (of course) with the same numbers as above: /usr/src at 1.5G and 82% OS drive capacity


----------



## wblock@ (Feb 14, 2013)

A source checkout takes much more space than just the source files because the change history is also in there.  Downloads ports distfiles in /usr/ports/distfiles are not deleted after a port is built, and those can eat relatively large amounts of space.

8G is enough to run FreeBSD, yes.  It's going to be pretty tight if you want to do things from source (svn, buildworld, ports) rather than binary (freebsd-update, portsnap).


----------



## WiiGame (Feb 14, 2013)

wblock@ said:
			
		

> rather than binary (freebsd-update, portsnap).


There's another way? Guess I'll have to look into that.


----------



## wblock@ (Feb 14, 2013)

Sorry, I didn't notice the subject of the thread.  Please start a new thread with a relevant title for further discussion that's not related to the USB3 aspect.


----------

