Yes in chillispot it works, but chillispot is a captive portal...
So the informations about the user (login and IP address) come from the login process in the portal.
I regularly use wifidog and it's the exact same process.
When you use WPA Enterprise, you don't want a captive portal since the users are already authenticated.
So what we need is a mechanism to do accounting based on the informations submitted to the radius server.
I'm thinking about a way to do this : when the authentication is complete on the freeradius server, we use rlm_perl to SSH to the remote AP and look in the ARP table for the IP address corresponding to the MAC who just logged in (we have to way a few seconds until the user receives an address from DHCP or send it's first packet to the router). That way we have the relationship between a MAC address, an IP address and the User.
Then we create an ACCEPT iptables rule for this IP so we have our counter.
Regularly we connect to the AP to fetch the counter value, reset it to zero and add the value in the accounting DB.
Finally we have to cleanup the iptables rules when we are sure the user is no longer logged in (or when the same IP is taken by someone else).
What do you think about that ?
I wish there was a cleaner solution, but I understand it must be quite hard to do accounting with WPA.