From owner-freebsd-hackers@FreeBSD.ORG Thu Jul 21 03:04:55 2005 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B2A5916A422 for ; Thu, 21 Jul 2005 03:04:55 +0000 (GMT) (envelope-from samuel.pierson@gmail.com) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.192]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2906B43D58 for ; Thu, 21 Jul 2005 03:04:33 +0000 (GMT) (envelope-from samuel.pierson@gmail.com) Received: by wproxy.gmail.com with SMTP id 71so47110wri for ; Wed, 20 Jul 2005 20:04:33 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=n5UQnMbHHTEeaq8xmrnXqqjRAj8OhR1JpQB2eDQaJ7sZhGMRt+6vd3KcSPwTIc9RIZATbWM1m80aFkpSd5NeuaWTUstN8DajqZaICf05xYP4fZLIk458gbooxXDL8qXBBNZeGGnLvG2MgTGcbShlyfpApA6IYcYMLpCcPJCnAYM= Received: by 10.54.13.38 with SMTP id 38mr361742wrm; Wed, 20 Jul 2005 20:03:49 -0700 (PDT) Received: by 10.54.144.1 with HTTP; Wed, 20 Jul 2005 20:03:49 -0700 (PDT) Message-ID: Date: Wed, 20 Jul 2005 22:03:49 -0500 From: Sam Pierson To: FreeBSD Hackers Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Subject: Atheros, hardware access layer, collisions X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Sam Pierson List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 03:04:55 -0000 Hey all, I'm working on a project that requires creating a single packet collision between hosts, so I've been digging around in=20 /sys/contrib/dev/ath for awhile now. I successfully disabled the CTS and RTS control frames from being transmitted, which was the first step. I believe now the application is sending packets, creating a collision. I think there is still collision detection happening on the hardware=20 level. I think I have to disable the retransmission of frames=20 which are lost due to collisions. Here's my reasoning: In the lab, two hosts are sending packets to the middle guy at the same time. After examining the traffic on the middle guy, one packet will arrive before the other one (sometimes in different order) and the second packet comes 500-1200us after the first. From this, I think some retransmission is happening because of collision, since the results are seemingly random. Can anyone help me determine what I should zero out from the drivers? I'm not sure, but these look like the important ones: >From ah.h (/contrib/dev/ath/) #define=09CHANNEL_BUSY=090x0004=09/* Busy, occupied or overlap with adjoin = chan */ (earlier in the file...) typedef enum { =09TXQ_FLAG_TXOKINT_ENABLE=09 =3D 0x0001, /* enable TXOK interrupt */ =09TXQ_FLAG_TXERRINT_ENABLE =3D 0x0001, /* enable TXERR interrupt */ =09TXQ_FLAG_TXDESCINT_ENABLE =3D 0x0002, /* enable TXDESC interrupt */ =09TXQ_FLAG_TXEOLINT_ENABLE =3D 0x0004, /* enable TXEOL interrupt */ =09TXQ_FLAG_TXURNINT_ENABLE =3D 0x0008, /* enable TXURN interrupt */ =09TXQ_FLAG_BACKOFF_DISABLE =3D 0x0010, /* disable Post Backoff */ =09TXQ_FLAG_COMPRESSION_ENABLE =3D 0x0020, /* compression enabled */ =09TXQ_FLAG_RDYTIME_EXP_POLICY_ENABLE =3D 0x0040, /* enable ready time =09=09=09=09=09=09=09expiry policy */ =09TXQ_FLAG_FRAG_BURST_BACKOFF_ENABLE =3D 0x0080, /* enable backoff while =09=09=09=09=09=09=09sending fragment burst*/ } HAL_TX_QUEUE_FLAGS; Does zeroing out frag_burst_backoff_enable do anything for me? I'm still trying many configurations and recompiling this to my kernel is very time consuming. =20 Thanks, Sam