TNC Packet Radio for OpenBSD
I just got a radio for my car and it is capable to handling TNC tranceiver traffic. So, now I'm on a search for a decent packet radio, but it looks like the only ones I've found are Windows only. It not as concerned with the software as I am with the HW being detected correctly, although having both work with be nice. Any suggestions are welcome. Thanks Dan N2VQV
Re: TNC Packet Radio for OpenBSD
On Tue, Feb 24, 2009 at 05:50:55PM +0100, Marc Balmer wrote: Am 24.02.2009 um 16:23 schrieb Dan Colish: I just got a radio for my car and it is capable to handling TNC tranceiver traffic. So, now I'm on a search for a decent packet radio, but it looks like the only ones I've found are Windows only. It not as concerned with the software as I am with the HW being detected correctly, although having both work with be nice. Any suggestions are welcome. A decent TNC uses a serial port or USB, I am using such a thingie and it works nicely. OpenBSD does not directly support AX.25. Thanks Dan N2VQV Marc HB9SSB Marc, Thanks for the tips. I've been checking out a varity of tncs that are available online. The choices seem endless. What particular model do you use? Dan
Re: Assistance OpenBSD
I'm a little shocked at how much time everyone is giving this; RTFM, that's what it's there for. That's what pretty much everyone else gets until they post something useful.
Re: OT: Free, online backup service provider compatible with BSD
That probably doesn't qualify as off site, there's a good chance the USB drive will still be plugged into the server during a disaster. Depending on the size of each backup, you could email an attachment to a free webmail provider, or use one of the GMail-disk programs. the concept of good DR and free are way out of sync here. use s3 if you want a cheap solution.
Re: Postgresql create tablespace permissions problem
Apologies, for the typo, its postgresql not postgres, although it can work with either.
Re: Postgresql create tablespace permissions problem
I did the following: - as '_postgresql' UNIX user I issued psql -d template1 postgres - then issued twice the CREATE TABLESPACE cmd as already described and got the error (with OWNER defined both 'postgres' and 'DB-user') that's all I did! Thanks Tony You should have a read of /usr/local/share/doc/postgresql/README.OpenBSD The users that you're using are just wrong. The database is run using postgres not _postgresql.
Re: Postgresql create tablespace permissions problem
learn to create users or http://www.ubuntu.com/getubuntu/download
Re: Postgresql create tablespace permissions problem
out of sheer morbid curiosity, why are you creating a tablespace owned by the _postgresql daemon user under /home?
Re: Thank you for Relayd
On Mon, Jan 26, 2009 at 12:32 PM, uday umoorjani@gmail.com wrote: I just wanted thank the developers and contributors of Relayd. It's a wonderful load balancer, very well written GOOD JOB guys ! FYI, you saved us 75,000$ in F5 equipments. um Why don't you donate some of that to the project!
Re: REPLY ME IMMEDIATELY
On Tue, Jan 13, 2009 at 8:11 AM, Arno Kumpel arkump...@yahoo.com wrote: I have a new email address!You can now email me at: arkump...@yahoo.com *- I have the sum of $8.5USD for offshore investment*. I will appreciate it so immersely if you could give details and be patient for us to build good relationship. Regards, Arno. Kumpel Geez, times must be bad when even spam is poor.
Re: Size of SD devices supported?
On Thu, Jan 8, 2009 at 7:10 AM, Jonathan Gray j...@goblin.cx wrote: On Thu, Jan 08, 2009 at 10:58:52AM +1100, Jonathan Gray wrote: On Wed, Jan 07, 2009 at 02:49:50PM -0500, STeve Andre' wrote: My new Thinkpad W500 has a SD slot, and stuffing a 1G card in works just fine. I borrowed a 16G SD card, and that gives a can't enable card error. I just found specs for the SD card, and wonder if the current code works with cards beyond 4G? Or, do I have a defective 16G card? (I currently have no way to test that). I haven't seen much in the way of discussion about this. This diff should let you use SDHC cards (most cards = 4GB). Let me know how it goes. Last one didn't have the change needed for block writes, try this: Index: sdmmc.c === RCS file: /cvs/src/sys/dev/sdmmc/sdmmc.c,v retrieving revision 1.16 diff -u -p -r1.16 sdmmc.c --- sdmmc.c 2 Dec 2008 23:49:54 - 1.16 +++ sdmmc.c 8 Jan 2009 12:05:53 - @@ -569,6 +569,32 @@ sdmmc_go_idle_state(struct sdmmc_softc * } /* + * Send the SEND_IF_COND command, to check operating condition + */ +int +sdmmc_send_if_cond(struct sdmmc_softc *sc, uint32_t card_ocr) +{ + struct sdmmc_command cmd; + uint8_t pat = 0x23; + uint8_t res; + + bzero(cmd, sizeof cmd); + + cmd.c_opcode = SD_SEND_IF_COND; + cmd.c_arg = ((card_ocr SD_OCR_VOL_MASK) != 0) 8 | pat; + cmd.c_flags = SCF_CMD_BCR | SCF_RSP_R7; + + if (sdmmc_mmc_command(sc, cmd) != 0) + return 1; + + res = cmd.c_resp[0]; + if (res != pat) + return 1; + else + return 0; +} + +/* * Retrieve (SD) or set (MMC) the relative card address (RCA). */ int Index: sdmmc_mem.c === RCS file: /cvs/src/sys/dev/sdmmc/sdmmc_mem.c,v retrieving revision 1.9 diff -u -p -r1.9 sdmmc_mem.c --- sdmmc_mem.c 2 Dec 2008 23:49:54 - 1.9 +++ sdmmc_mem.c 8 Jan 2009 12:05:53 - @@ -93,6 +93,9 @@ sdmmc_mem_enable(struct sdmmc_softc *sc) /* Tell the card(s) to enter the idle state (again). */ sdmmc_go_idle_state(sc); + if (sdmmc_send_if_cond(sc, card_ocr) == 0) + host_ocr |= SD_OCR_SDHC_CAP; + /* Send the new OCR value until all cards are ready. */ if (sdmmc_mem_send_op_cond(sc, host_ocr, NULL) != 0) { DPRINTF((%s: can't send memory OCR\n, SDMMCDEVNAME(sc))); @@ -224,14 +227,23 @@ sdmmc_decode_csd(struct sdmmc_softc *sc, * specification version 1.0 - 1.10. (SanDisk, 3.5.3) */ csd-csdver = SD_CSD_CSDVER(resp); - if (csd-csdver != SD_CSD_CSDVER_1_0) { + switch (csd-csdver) { + case SD_CSD_CSDVER_2_0: + sc-sc_flags |= SMF_SDHC; + csd-capacity = SD_CSD_V2_CAPACITY(resp); + csd-read_bl_len = SD_CSD_V2_BL_LEN; + break; + case SD_CSD_CSDVER_1_0: + csd-capacity = SD_CSD_CAPACITY(resp); + csd-read_bl_len = SD_CSD_READ_BL_LEN(resp); + break; + default: printf(%s: unknown SD CSD structure version 0x%x\n, SDMMCDEVNAME(sc), csd-csdver); return 1; + break; } - csd-capacity = SD_CSD_CAPACITY(resp); - csd-read_bl_len = SD_CSD_READ_BL_LEN(resp); } else { csd-csdver = MMC_CSD_CSDVER(resp); if (csd-csdver != MMC_CSD_CSDVER_1_0 @@ -403,7 +415,10 @@ sdmmc_mem_read_block(struct sdmmc_functi cmd.c_blklen = sf-csd.sector_size; cmd.c_opcode = (datalen / cmd.c_blklen) 1 ? MMC_READ_BLOCK_MULTIPLE : MMC_READ_BLOCK_SINGLE; - cmd.c_arg = blkno 9; + if (sc-sc_flags SMF_SDHC) + cmd.c_arg = blkno; + else + cmd.c_arg = blkno 9; cmd.c_flags = SCF_CMD_ADTC | SCF_CMD_READ | SCF_RSP_R1; error = sdmmc_mmc_command(sc, cmd); @@ -458,7 +473,10 @@ sdmmc_mem_write_block(struct sdmmc_funct cmd.c_blklen = sf-csd.sector_size; cmd.c_opcode = (datalen / cmd.c_blklen) 1 ? MMC_WRITE_BLOCK_MULTIPLE : MMC_WRITE_BLOCK_SINGLE; - cmd.c_arg = blkno 9; + if (sc-sc_flags SMF_SDHC) + cmd.c_arg = blkno; + else + cmd.c_arg = blkno 9; cmd.c_flags = SCF_CMD_ADTC | SCF_RSP_R1; error = sdmmc_mmc_command(sc, cmd); Index: sdmmcreg.h === RCS file: /cvs/src/sys/dev/sdmmc/sdmmcreg.h,v retrieving revision 1.3 diff -u -p -r1.3 sdmmcreg.h --- sdmmcreg.h 18
Re: Size of SD devices supported?
On Thu, Jan 8, 2009 at 9:51 AM, Jonathan Gray j...@goblin.cx wrote: On Thu, Jan 08, 2009 at 09:32:47AM -0500, Dan Colish wrote: The latest patch works great for me. I was not able to write disklabels with the prior patch, probably due to the block write code missing. As soon as I get the card up, I'll post some i/o benchmarks. Well it's an SD card, don't expect miracles. Here is a bonus revised revised patch that lets you use SD cards after SDHC cards by storing the flag state in a better card specific state structure. I'd appreciate it if people testing this stuff could test on a range of SDHC and normal cards and tell me what size cards/ which controllers they are testing against. Thanks Index: sdmmc.c === RCS file: /cvs/src/sys/dev/sdmmc/sdmmc.c,v retrieving revision 1.16 diff -u -p -r1.16 sdmmc.c --- sdmmc.c 2 Dec 2008 23:49:54 - 1.16 +++ sdmmc.c 8 Jan 2009 12:49:43 - @@ -569,6 +569,32 @@ sdmmc_go_idle_state(struct sdmmc_softc * } /* + * Send the SEND_IF_COND command, to check operating condition + */ +int +sdmmc_send_if_cond(struct sdmmc_softc *sc, uint32_t card_ocr) +{ + struct sdmmc_command cmd; + uint8_t pat = 0x23; + uint8_t res; + + bzero(cmd, sizeof cmd); + + cmd.c_opcode = SD_SEND_IF_COND; + cmd.c_arg = ((card_ocr SD_OCR_VOL_MASK) != 0) 8 | pat; + cmd.c_flags = SCF_CMD_BCR | SCF_RSP_R7; + + if (sdmmc_mmc_command(sc, cmd) != 0) + return 1; + + res = cmd.c_resp[0]; + if (res != pat) + return 1; + else + return 0; +} + +/* * Retrieve (SD) or set (MMC) the relative card address (RCA). */ int Index: sdmmc_mem.c === RCS file: /cvs/src/sys/dev/sdmmc/sdmmc_mem.c,v retrieving revision 1.9 diff -u -p -r1.9 sdmmc_mem.c --- sdmmc_mem.c 2 Dec 2008 23:49:54 - 1.9 +++ sdmmc_mem.c 8 Jan 2009 12:49:43 - @@ -93,6 +93,9 @@ sdmmc_mem_enable(struct sdmmc_softc *sc) /* Tell the card(s) to enter the idle state (again). */ sdmmc_go_idle_state(sc); + if (sdmmc_send_if_cond(sc, card_ocr) == 0) + host_ocr |= SD_OCR_SDHC_CAP; + /* Send the new OCR value until all cards are ready. */ if (sdmmc_mem_send_op_cond(sc, host_ocr, NULL) != 0) { DPRINTF((%s: can't send memory OCR\n, SDMMCDEVNAME(sc))); @@ -224,14 +227,23 @@ sdmmc_decode_csd(struct sdmmc_softc *sc, * specification version 1.0 - 1.10. (SanDisk, 3.5.3) */ csd-csdver = SD_CSD_CSDVER(resp); - if (csd-csdver != SD_CSD_CSDVER_1_0) { + switch (csd-csdver) { + case SD_CSD_CSDVER_2_0: + sf-flags |= SFF_SDHC; + csd-capacity = SD_CSD_V2_CAPACITY(resp); + csd-read_bl_len = SD_CSD_V2_BL_LEN; + break; + case SD_CSD_CSDVER_1_0: + csd-capacity = SD_CSD_CAPACITY(resp); + csd-read_bl_len = SD_CSD_READ_BL_LEN(resp); + break; + default: printf(%s: unknown SD CSD structure version 0x%x\n, SDMMCDEVNAME(sc), csd-csdver); return 1; + break; } - csd-capacity = SD_CSD_CAPACITY(resp); - csd-read_bl_len = SD_CSD_READ_BL_LEN(resp); } else { csd-csdver = MMC_CSD_CSDVER(resp); if (csd-csdver != MMC_CSD_CSDVER_1_0 @@ -403,7 +415,10 @@ sdmmc_mem_read_block(struct sdmmc_functi cmd.c_blklen = sf-csd.sector_size; cmd.c_opcode = (datalen / cmd.c_blklen) 1 ? MMC_READ_BLOCK_MULTIPLE : MMC_READ_BLOCK_SINGLE; - cmd.c_arg = blkno 9; + if (sf-flags SFF_SDHC) + cmd.c_arg = blkno; + else + cmd.c_arg = blkno 9; cmd.c_flags = SCF_CMD_ADTC | SCF_CMD_READ | SCF_RSP_R1; error = sdmmc_mmc_command(sc, cmd); @@ -458,7 +473,10 @@ sdmmc_mem_write_block(struct sdmmc_funct cmd.c_blklen = sf-csd.sector_size; cmd.c_opcode = (datalen / cmd.c_blklen) 1 ? MMC_WRITE_BLOCK_MULTIPLE : MMC_WRITE_BLOCK_SINGLE; - cmd.c_arg = blkno 9; + if (sf-flags SFF_SDHC) + cmd.c_arg = blkno; + else + cmd.c_arg = blkno 9; cmd.c_flags = SCF_CMD_ADTC | SCF_RSP_R1; error = sdmmc_mmc_command(sc, cmd); Index: sdmmcreg.h === RCS file: /cvs/src/sys/dev/sdmmc/sdmmcreg.h,v retrieving revision 1.3 diff -u -p -r1.3 sdmmcreg.h --- sdmmcreg.h 18 Mar 2007 22:21:21 - 1.3 +++ sdmmcreg.h 8 Jan 2009 12
Re: Size of SD devices supported?
I've worked out my mount issues and I was able to run a bonnie++ test on the card: littleguy ~$ bonnie++ -d /opt/ -s 100 -r 10 -f -n 0 Writing intelligently...done Rewriting...done Reading intelligently...done start 'em...done...done...done... Version 1.03 --Sequential Output-- --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- MachineSize K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP littleguy 100M2144 1 1746 18950 1 170.5 0 Looks like its writing at 2Mb/sec and reading at almost 9mb/sec. The test size was 100Mb --dan